diff --git a/loopy/tools.py b/loopy/tools.py
index 36f015a294e6f0d052dc234eafa8a0a2586a073f..524d2cf72512ce637ea2731a87b96f73f980dcff 100644
--- a/loopy/tools.py
+++ b/loopy/tools.py
@@ -348,8 +348,6 @@ class _PickledObjectWrapper(object):
     A class meant to wrap a pickled value (for :class:`LazilyUnpicklingDictionary`).
     """
 
-    __slots__ = ["objstring"]
-
     @classmethod
     def from_object(cls, obj):
         if isinstance(obj, cls):
@@ -364,6 +362,9 @@ class _PickledObjectWrapper(object):
         from pickle import loads
         return loads(self.objstring)
 
+    def __getstate__(self):
+        return {"objstring": self.objstring}
+
 
 import collections