diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index b981bb8..5099f3f 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -541,6 +541,47 @@
 	return None;
 }
 
+static object *
+file_writelines(f, args)
+	fileobject *f;
+	object *args;
+{
+	int i, n;
+	if (f->f_fp == NULL)
+		return err_closed();
+	if (args == NULL || !is_listobject(args)) {
+		err_setstr(TypeError,
+			   "writelines() requires list of strings");
+		return NULL;
+	}
+	n = getlistsize(args);
+	f->f_softspace = 0;
+	BGN_SAVE
+	errno = 0;
+	for (i = 0; i < n; i++) {
+		object *line = getlistitem(args, i);
+		int len;
+		int nwritten;
+		if (!is_stringobject(line)) {
+			RET_SAVE
+			err_setstr(TypeError,
+				   "writelines() requires list of strings");
+			return NULL;
+		}
+		len = getstringsize(line);
+		nwritten = fwrite(getstringvalue(line), 1, len, f->f_fp);
+		if (nwritten != len) {
+			RET_SAVE
+			err_errno(IOError);
+			clearerr(f->f_fp);
+			return NULL;
+		}
+	}
+	END_SAVE
+	INCREF(None);
+	return None;
+}
+
 static struct methodlist file_methods[] = {
 	{"close",	file_close},
 	{"flush",	file_flush},
@@ -552,6 +593,7 @@
 	{"seek",	file_seek},
 	{"tell",	file_tell},
 	{"write",	file_write},
+	{"writelines",	file_writelines},
 	{NULL,		NULL}		/* sentinel */
 };
 
diff --git a/Python/import.c b/Python/import.c
index c0f163a..b81a41e 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -250,9 +250,10 @@
 				fprintf(stderr,
 				"# invalid precompiled file \"%s\"\n",
 					namebuf);
-				goto read_py;
 			}
 		}
+		if (co == NULL)
+			goto read_py;
 	}
 	else {
 read_py:
