diff --git a/lib/private/installer.php b/lib/private/installer.php
index 37af8d0edcb4828d3bb8efc5e46924ba54f1d523..328a4abcfd9fefa6412d925e0bfdce84c47110e8 100644
--- a/lib/private/installer.php
+++ b/lib/private/installer.php
@@ -107,6 +107,9 @@ class OC_Installer{
 		}
 
 		$extractDir .= '/' . $info['id'];
+		if(!file_exists($extractDir)) {
+			throw new \Exception($l->t("Archive does not contain a directory named %s", $info['id']));
+		}
 		OC_Helper::copyr($extractDir, $basedir);
 
 		//remove temporary files