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