diff --git a/image_creator/dialog_main.py b/image_creator/dialog_main.py
index f9dd26049912f1d7d9047963bdd3759c0b6f4254..db08968d22405809f7494a09aea5380b50e0d7ab 100644
--- a/image_creator/dialog_main.py
+++ b/image_creator/dialog_main.py
@@ -33,6 +33,9 @@
 # interpreted as representing official policies, either expressed
 # or implied, of GRNET S.A.
 
+import gevent.monkey  # Monkey-patch everything for gevent early on
+gevent.monkey.patch_all()
+
 import dialog
 import sys
 import os
diff --git a/image_creator/main.py b/image_creator/main.py
index 9996dd6e92de965bbc04912b0cda718e0d66a80b..ba7c5be6c13edd839592913147dae9f475ac9940 100644
--- a/image_creator/main.py
+++ b/image_creator/main.py
@@ -33,6 +33,9 @@
 # interpreted as representing official policies, either expressed
 # or implied, of GRNET S.A.
 
+import gevent.monkey  # Monkey-patch everything for gevent early on
+gevent.monkey.patch_all()
+
 from image_creator import __version__ as version
 from image_creator import util
 from image_creator.disk import Disk
diff --git a/setup.py b/setup.py
index 542d985394341cf47f4a39d5b7662e65924974ed..79e62112c69c84e8e371e9afd0698c98c4e91b64 100755
--- a/setup.py
+++ b/setup.py
@@ -46,7 +46,8 @@ setup(
     license='BSD',
     packages=find_packages(),
     include_package_data=True,
-    install_requires=['sh', 'ansicolors', 'progress>=1.0.2', 'py-sendfile'],
+    install_requires=['sh', 'ansicolors', 'progress>=1.0.2', 'py-sendfile',
+        'gevent'],
     entry_points={
         'console_scripts': [
                 'snf-image-creator = image_creator.main:main',