diff --git a/Python/import.c b/Python/import.c
index eb50bc5..bcdd68e 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -2748,8 +2748,6 @@
 	}
 	else {
 		/* No globals -- use standard builtins, and fake globals */
-		PyErr_Clear();
-
 		builtins = PyImport_ImportModuleLevel("__builtin__",
 						      NULL, NULL, NULL, 0);
 		if (builtins == NULL)
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 4f8417a..ada1481 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -248,14 +248,15 @@
 	}
 
 	initmain(); /* Module __main__ */
-	if (!Py_NoSiteFlag)
-		initsite(); /* Module site */
 
 	/* auto-thread-state API, if available */
 #ifdef WITH_THREAD
 	_PyGILState_Init(interp, tstate);
 #endif /* WITH_THREAD */
 
+	if (!Py_NoSiteFlag)
+		initsite(); /* Module site */
+
 	if ((p = Py_GETENV("PYTHONIOENCODING")) && *p != '\0') {
 		p = icodeset = codeset = strdup(p);
 		free_codeset = 1;
@@ -284,8 +285,13 @@
 				loc_codeset = strdup(loc_codeset);
 				Py_DECREF(enc);
 			} else {
-				loc_codeset = NULL;
-				PyErr_Clear();
+				if (PyErr_ExceptionMatches(PyExc_LookupError)) {
+					PyErr_Clear();
+					loc_codeset = NULL;
+				} else {
+					PyErr_Print();
+					exit(1);
+				}
 			}
 		} else
 			loc_codeset = NULL;
@@ -704,20 +710,12 @@
 static void
 initsite(void)
 {
-	PyObject *m, *f;
+	PyObject *m;
 	m = PyImport_ImportModule("site");
 	if (m == NULL) {
-		f = PySys_GetObject("stderr");
-		if (Py_VerboseFlag) {
-			PyFile_WriteString(
-				"'import site' failed; traceback:\n", f);
-			PyErr_Print();
-		}
-		else {
-			PyFile_WriteString(
-			  "'import site' failed; use -v for traceback\n", f);
-			PyErr_Clear();
-		}
+		PyErr_Print();
+		Py_Finalize();
+		exit(1);
 	}
 	else {
 		Py_DECREF(m);
@@ -1546,6 +1544,8 @@
 	char *msg = NULL;
 	errtype = PyExc_SyntaxError;
 	switch (err->error) {
+	case E_ERROR:
+		return;
 	case E_SYNTAX:
 		errtype = PyExc_IndentationError;
 		if (err->expected == INDENT)
