diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index a26781e..48b875e 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -580,18 +580,22 @@
 		unsigned char buf[2];
 		/* Mess:  In case of -x, the stream is NOT at its start now,
 		   and ungetc() was used to push back the first newline,
-		   which makes the current stream position formally undefined
-		   until that newline is read back.  So first we getc(), so
-		   that ftell() is well-defined.
+		   which makes the current stream position formally undefined,
+		   and a x-platform nightmare.
+		   Unfortunately, we have no direct way to know whether -x
+		   was specified.  So we use a terrible hack:  if the current
+		   stream position is not 0, we assume -x was specified, and
+		   give up.  Bug 132850 on SourceForge spells out the
+		   hopelessness of trying anything else (fseek and ftell
+		   don't work predictably x-platform for text-mode files).
 		*/
-		const int maybepushedback = getc(fp);
-		const long currentpos = ftell(fp);
 		int ispyc = 0;
-		rewind(fp);
-		ispyc = fread(buf, 1, 2, fp) == 2 &&
-		        ((unsigned int)buf[1]<<8 | buf[0]) == halfmagic;
-		fseek(fp, currentpos, SEEK_SET);
-		ungetc(maybepushedback, fp);
+		if (ftell(fp) == 0) {
+			if (fread(buf, 1, 2, fp) == 2 &&
+			    ((unsigned int)buf[1]<<8 | buf[0]) == halfmagic) 
+				ispyc = 1;
+			rewind(fp);
+		}
 		return ispyc;
 	}
 	return 0;
