diff --git a/plugin/gstpythonplugin.c b/plugin/gstpythonplugin.c
index 8c7eb1a..c05e158 100644
--- a/plugin/gstpythonplugin.c
+++ b/plugin/gstpythonplugin.c
@@ -40,8 +40,28 @@ static PyObject *element;
 static inline gboolean
 np_init_pygobject (void)
 {
-  PyObject *gobject = PyImport_ImportModule ("gobject");
-  gboolean res = TRUE;
+  PyObject *gobject;
+  gboolean res;
+  PyObject *pygtk = PyImport_ImportModule ("pygtk");
+  if (pygtk != NULL)
+  {
+    PyObject *mdict = PyModule_GetDict (pygtk);
+    PyObject *require = PyDict_GetItemString (mdict, "require");
+    if (!(PyObject_CallFunction (require, "s", "2.0"))) {
+      PyErr_SetString (PyExc_RuntimeError, "Could not run pygtk.require");
+      PyErr_Print ();
+      res = FALSE;
+      goto beach;
+    }
+  } else {
+    PyErr_Print ();
+    GST_WARNING ("could not import pygtk");
+    res = FALSE;
+    goto beach;
+  }
+
+  gobject = PyImport_ImportModule ("gobject");
+  res = TRUE;
 
   if (gobject != NULL) {
     PyObject *mdict = PyModule_GetDict (gobject);
