diff --git a/setup.py b/setup.py
index 57267f8151c326c7b52b1d01881cbf12a3e6cabd..856be62118a18b48c89e8094c657d1503ceaf24b 100644
--- a/setup.py
+++ b/setup.py
@@ -1,9 +1,11 @@
 #!/usr/bin/env python
+import glob
 import os
 import os.path
 import shlex
 import shutil
 import subprocess
+import sys
 import tarfile
 import tempfile
 
@@ -37,6 +39,11 @@ def which(name, flags=os.X_OK):  # Taken from twisted
                 result.append(pext)
     return result
 
+
+# This hack exists so that we can import nacl here
+sys.path += glob.glob("*.egg")
+
+
 try:
     import nacl.nacl
 except ImportError:
@@ -179,6 +186,9 @@ setup(
     author=nacl.__author__,
     author_email=nacl.__email__,
 
+    setup_requires=[
+        "cffi",
+    ],
     install_requires=[
         "cffi",
     ],