diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index b78e6f5..4d6b918 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -238,19 +238,22 @@
 		return -1;
 	d = PyModule_GetDict(m);
 	ext = filename + strlen(filename) - 4;
+	if (strcmp(ext, ".pyc") == 0 || strcmp(ext, ".pyo") == 0
 #ifdef macintosh
 	/* On a mac, we also assume a pyc file for types 'PYC ' and 'APPL' */
-	if ( strcmp(ext, ".pyc") == 0 || getfiletype(filename) == 'PYC ' ||
-					getfiletype(filename) == 'APPL' ) {
-#else
-	if ( strcmp(ext, ".pyc") == 0 ) {
+	    || getfiletype(filename) == 'PYC '
+	    || getfiletype(filename) == 'APPL'
 #endif /* macintosh */
+		) {
 		/* Try to run a pyc file. First, re-open in binary */
 		/* Don't close, done in main: fclose(fp); */
 		if( (fp = fopen(filename, "rb")) == NULL ) {
 			fprintf(stderr, "python: Can't reopen .pyc file\n");
 			return -1;
 		}
+		/* Turn on optimization if a .pyo file is given */
+		if (strcmp(ext, ".pyo") == 0)
+			Py_OptimizeFlag = 1;
 		v = run_pyc_file(fp, filename, d, d);
 	} else {
 		v = PyRun_File(fp, filename, file_input, d, d);
@@ -291,7 +294,7 @@
 	Py_FlushLine();
 	fflush(stdout);
 	if (exception == NULL)
-		Py_FatalError("print_error called but no exception");
+		Py_FatalError("PyErr_Print called but no exception");
 	if (exception == PyExc_SystemExit) {
 		if (v == NULL || v == Py_None)
 			Py_Exit(0);
