Make BadPickleGet a class. Fixes #609164.
diff --git a/Misc/NEWS b/Misc/NEWS
index e1e0104..613c8a7 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -274,6 +274,8 @@
 
 Extension modules
 
+- cPickle.BadPickleGet is now a class.
+
 - The time stamps in os.stat_result are floating point numbers now.
 
 - If the size passed to mmap.mmap() is larger than the length of the
diff --git a/Modules/cPickle.c b/Modules/cPickle.c
index 14936a6..32fdd6e 100644
--- a/Modules/cPickle.c
+++ b/Modules/cPickle.c
@@ -4760,6 +4760,10 @@
 						    PickleError, NULL))) 
 		return -1;
 
+        if (!( BadPickleGet = PyErr_NewException("cPickle.BadPickleGet",
+						 UnpicklingError, NULL)))
+                return -1;
+ 
 	if (PyDict_SetItemString(module_dict, "PickleError",
 				 PickleError) < 0)
 		return -1;
@@ -4776,9 +4780,6 @@
 				 UnpickleableError) < 0)
 		return -1;
 
-	if (!( BadPickleGet = PyString_FromString("cPickle.BadPickleGet"))) 
-		return -1;
-
 	if (PyDict_SetItemString(module_dict, "BadPickleGet",
 				 BadPickleGet) < 0)
 		return -1;