diff --git a/Lib/threading.py b/Lib/threading.py
index 5655dde..fecd3cc 100644
--- a/Lib/threading.py
+++ b/Lib/threading.py
@@ -636,13 +636,11 @@
         _active_limbo_lock.acquire()
         _active[_get_ident()] = self
         _active_limbo_lock.release()
-        import atexit
-        atexit.register(self.__exitfunc)
 
     def _set_daemon(self):
         return False
 
-    def __exitfunc(self):
+    def _exitfunc(self):
         self._Thread__stop()
         t = _pickSomeNonDaemonThread()
         if t:
@@ -715,9 +713,11 @@
 
 from thread import stack_size
 
-# Create the main thread object
+# Create the main thread object,
+# and make it available for the interpreter
+# (Py_Main) as threading._shutdown.
 
-_MainThread()
+_shutdown = _MainThread()._exitfunc
 
 # get thread-local implementation, either from the thread
 # module, or from the python fallback
diff --git a/Misc/NEWS b/Misc/NEWS
index 4f310d8..972f1e0 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,9 @@
 Core and builtins
 -----------------
 
+- Bug #1566280: Explicitly invoke threading._shutdown from Py_Main,
+  to avoid relying on atexit.
+
 - Bug #1590891: random.randrange don't return correct value for big number
 
 - Patch #1586791: Better exception messages for some operations on strings,
diff --git a/Modules/main.c b/Modules/main.c
index 2224dfe..dc46d55 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -177,6 +177,33 @@
 	return 0;
 }
 
+/* Wait until threading._shutdown completes, provided
+   the threading module was imported in the first place.
+   The shutdown routine will wait until all non-daemon
+   "threading" threads have completed. */
+#include "abstract.h"
+static void
+WaitForThreadShutdown()
+{
+#ifdef WITH_THREAD
+	PyObject *result;
+	PyThreadState *tstate = PyThreadState_GET();
+	PyObject *threading = PyMapping_GetItemString(tstate->interp->modules,
+						      "threading");
+	if (threading == NULL) {
+		/* threading not imported */
+		PyErr_Clear();
+		return;
+	}
+	result = PyObject_CallMethod(threading, "_shutdown", "");
+	if (result == NULL)
+		PyErr_WriteUnraisable(threading);
+	else
+		Py_DECREF(result);
+	Py_DECREF(threading);
+#endif
+}
+
 /* Main program */
 
 int
@@ -514,6 +541,8 @@
 		/* XXX */
 		sts = PyRun_AnyFileFlags(stdin, "<stdin>", &cf) != 0;
 
+	WaitForThreadShutdown();
+
 	Py_Finalize();
 #ifdef RISCOS
 	if (Py_RISCOSWimpFlag)
