Merge of descr-branch back into trunk.
diff --git a/Modules/cPickle.c b/Modules/cPickle.c
index e3cc58d..b27339f 100644
--- a/Modules/cPickle.c
+++ b/Modules/cPickle.c
@@ -1869,6 +1869,10 @@
                 res = save_tuple(self, args);
                 goto finally;
             }
+	    if (type == &PyType_Type) {
+		res = save_global(self, args, NULL);
+		goto finally;
+	    }
             break;
 
         case 'l':