diff --git a/gracedb/events/models.py b/gracedb/events/models.py
index 2e3ed5b11e9e536c64e30eac89a9a429fc0e1163..65e4af1c3eb1aa15004aa8b9964dac48972dae17 100644
--- a/gracedb/events/models.py
+++ b/gracedb/events/models.py
@@ -33,10 +33,7 @@ from django.conf import settings
 import pytz
 import calendar
 
-try:
-    from io import StringIO
-except ImportError:  # python < 3
-    from cStringIO import StringIO
+from io import StringIO
 
 from hashlib import sha1
 import shutil
@@ -246,7 +243,11 @@ class Event(models.Model):
     @property
     def datadir(self):
         # Create a file-like object which is the SHA-1 hexdigest of the Event's primary key
-        hdf = StringIO(sha1(str(self.id)).hexdigest())
+        hid = sha1(str(self.id).encode("utf-8")).hexdigest()
+        try:
+            hdf = StringIO(hid.decode("utf-8"))
+        except AttributeError:  # python < 3
+            hdf = StringIO(hid)
 
         # Build up the nodes of the directory structure
         nodes = [hdf.read(i) for i in settings.GRACEDB_DIR_DIGITS]