diff -r e695e5b1ed4d tests/test_file_upload.py
--- a/tests/test_file_upload.py	Tue Apr 20 13:00:44 2010 -0500
+++ b/tests/test_file_upload.py	Fri May 07 23:34:14 2010 +0700
@@ -136,7 +136,8 @@
 
 def test_no_uploads_error():
     app = webtest.TestApp(single_upload_file_app)
-    uploads = app.get('/').forms["file_upload_form"].upload_fields()
+    single_form = app.get('/').forms["file_upload_form"]
+    single_form.submit("button")
 
 
 def test_file_upload_with_filename_only():
diff -r e695e5b1ed4d webtest/__init__.py
--- a/webtest/__init__.py	Tue Apr 20 13:00:44 2010 -0500
+++ b/webtest/__init__.py	Fri May 07 23:34:14 2010 +0700
@@ -252,15 +252,16 @@
             lines.append('')
             lines.append(value)
         for file_info in files:
-            key, filename, value = self._get_file_info(file_info)
-            lines.append('--'+boundary)
-            lines.append('Content-Disposition: form-data; name="%s"; filename="%s"'
-                         % (key, filename))
-            fcontent = mimetypes.guess_type(filename)[0]
-            lines.append('Content-Type: %s' %
-                         fcontent or 'application/octet-stream')
-            lines.append('')
-            lines.append(value)
+            if len(file_info) > 1:
+                key, filename, value = self._get_file_info(file_info)
+                lines.append('--'+boundary)
+                lines.append('Content-Disposition: form-data; name="%s"; filename="%s"'
+                             % (key, filename))
+                fcontent = mimetypes.guess_type(filename)[0]
+                lines.append('Content-Type: %s' %
+                             fcontent or 'application/octet-stream')
+                lines.append('')
+                lines.append(value)
         lines.append('--' + boundary + '--')
         lines.append('')
         body = '\r\n'.join(lines)

