diff --git a/src/plugins/totem-python-module.c b/src/plugins/totem-python-module.c
index 1426e31..a727143 100644
--- a/src/plugins/totem-python-module.c
+++ b/src/plugins/totem-python-module.c
@@ -64,6 +64,9 @@ enum
 	PROP_MODULE
 };
 
+int python_initialized = 0;
+
+
 #ifndef PYGOBJECT_CAN_MARSHAL_GVALUE
 static PyObject *
 pyg_value_g_value_as_pyobject (const GValue *value)
@@ -264,6 +267,7 @@ totem_python_module_init_python (void)
 	 * restore the state in a class_finalize or so, but since totem doesn't
 	 * do any clean-up at this point, we'll just skip this as well */
 	PyEval_SaveThread();
+	python_initialized = 1;
 }
 
 static gboolean
@@ -276,7 +280,7 @@ totem_python_module_load (GTypeModule *gmodule)
 	Py_ssize_t pos = 0;
 	gboolean res = FALSE;
 
-	g_return_val_if_fail (Py_IsInitialized (), FALSE);
+	g_return_val_if_fail (python_initialized, FALSE);
 
 	state = pyg_gil_state_ensure();
 
