diff --git a/slapos/recipe/postgres/__init__.py b/slapos/recipe/postgres/__init__.py
index c7d3ab7554aeaea2eae494404c10f14b0eedd4be..d74ef7be0fb24111f2015b81c4b26cfe2aeab2fb 100644
--- a/slapos/recipe/postgres/__init__.py
+++ b/slapos/recipe/postgres/__init__.py
@@ -83,8 +83,14 @@ class Recipe(GenericBaseRecipe):
                 ]
 
 
+    def check_exists(self, path):
+        if not os.path.isfile(path):
+            raise IOError('File not found: %s' % path)
+
+
     def createCluster(self):
         initdb_binary = os.path.join(self.options['bin'], 'initdb')
+        self.check_exists(initdb_binary)
 
         pgdata = self.options['pgdata-directory']