--- a/biplist/__init__.py	2014-10-26 19:03:11.000000000 +0000
+++ b/biplist/__init__.py	2016-07-19 19:30:17.663521999 +0000
@@ -541,7 +541,7 @@
             return HashableWrapper(n)
         elif isinstance(root, dict):
             n = {}
-            for key, value in iteritems(root):
+            for key, value in sorted(iteritems(root)):
                 n[self.wrapRoot(key)] = self.wrapRoot(value)
             return HashableWrapper(n)
         elif isinstance(root, list):
@@ -616,7 +616,7 @@
             elif isinstance(obj, dict):
                 size = proc_size(len(obj))
                 self.incrementByteCount('dictBytes', incr=1+size)
-                for key, value in iteritems(obj):
+                for key, value in sorted(iteritems(obj)):
                     check_key(key)
                     self.computeOffsets(key, asReference=True)
                     self.computeOffsets(value, asReference=True)
@@ -714,7 +714,7 @@
                 keys = []
                 values = []
                 objectsToWrite = []
-                for key, value in iteritems(obj):
+                for key, value in sorted(iteritems(obj)):
                     keys.append(key)
                     values.append(value)
                 for key in keys:
