diff -u -p -r1.53 pygtype.c
--- gobject/pygtype.c	3 Oct 2006 13:46:03 -0000	1.53
+++ gobject/pygtype.c	13 Nov 2006 12:06:56 -0000
@@ -847,7 +847,7 @@ pyg_value_from_pyobject(GValue *value, P
 
 	if (obj == Py_None)
 	    g_value_set_boxed(value, NULL);
-	if (G_VALUE_HOLDS(value, PY_TYPE_OBJECT))
+	else if (G_VALUE_HOLDS(value, PY_TYPE_OBJECT))
 	    g_value_set_boxed(value, obj);
 	else if (PyObject_TypeCheck(obj, &PyGBoxed_Type) &&
 		   G_VALUE_HOLDS(value, ((PyGBoxed *)obj)->gtype))
