diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 381c987..bfed548 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -373,8 +373,9 @@
 		Py_FatalError("can't create __main__ module");
 	d = PyModule_GetDict(m);
 	if (PyDict_GetItemString(d, "__builtins__") == NULL) {
-		if (PyDict_SetItemString(d, "__builtins__",
-					 PyEval_GetBuiltins()))
+		PyObject *bimod = PyImport_ImportModule("__builtin__");
+		if (bimod == NULL ||
+		    PyDict_SetItemString(d, "__builtins__", bimod) != 0)
 			Py_FatalError("can't add __builtins__ to __main__");
 	}
 }
@@ -1060,46 +1061,13 @@
 #endif
 }
 
-#ifdef HAVE_SIGNAL_H
-static RETSIGTYPE
-sighandler(sig)
-	int sig;
-{
-	signal(sig, SIG_DFL); /* Don't catch recursive signals */
-	/* Do essential exit processing only */
-	call_sys_exitfunc();
-	call_ll_exitfuncs();
-#ifdef HAVE_KILL
-	kill(getpid(), sig); /* Pretend the signal killed us */
-#else
-	exit(1);
-#endif
-	/*NOTREACHED*/
-}
-#endif
-
 static void
 initsigs()
 {
-	RETSIGTYPE (*t)();
 #ifdef HAVE_SIGNAL_H
 #ifdef SIGPIPE
 	signal(SIGPIPE, SIG_IGN);
 #endif
-#ifdef SIGHUP
-	t = signal(SIGHUP, SIG_IGN);
-	if (t == SIG_DFL)
-		signal(SIGHUP, sighandler);
-	else
-		signal(SIGHUP, t);
-#endif              
-#ifdef SIGTERM
-	t = signal(SIGTERM, SIG_IGN);
-	if (t == SIG_DFL)
-		signal(SIGTERM, sighandler);
-	else
-		signal(SIGTERM, t);
-#endif
 #endif /* HAVE_SIGNAL_H */
 	PyOS_InitInterrupts(); /* May imply initsignal() */
 }
