Call clearerr() after EOF seen.
diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index 495737e..e6461a1 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -311,6 +311,7 @@
 	
 	for (;;) {
 		if ((c = getc(fp)) == EOF) {
+			clearerr(fp);
 			if (intrcheck()) {
 				DECREF(v);
 				err_set(KeyboardInterrupt);