diff --git a/synapse/storage/engines/__init__.py b/synapse/storage/engines/__init__.py
index be7f6d6ac3332f8cb6eb975f91d82fbf293b90bb..8c868ece75969076bfb0c47ae203fc1f0891ce2d 100644
--- a/synapse/storage/engines/__init__.py
+++ b/synapse/storage/engines/__init__.py
@@ -32,12 +32,11 @@ def create_engine(database_config):
     engine_class = SUPPORTED_MODULE.get(name, None)
 
     if engine_class:
-        needs_pypy_hack = (name == "psycopg2" and
-                platform.python_implementation() == "PyPy")
-        if needs_pypy_hack:
-            module = importlib.import_module("psycopg2cffi")
-        else:
-            module = importlib.import_module(name)
+        # pypy requires psycopg2cffi rather than psycopg2
+        if (name == "psycopg2" and
+                platform.python_implementation() == "PyPy"):
+            name = "psycopg2cffi"
+        module = importlib.import_module(name)
         return engine_class(module, database_config)
 
     raise RuntimeError(