diff --git a/lib/installer.php b/lib/installer.php
index db64d8e32d573bf2f27d30c53183b73fd001ea10..c5ecacae5446715fd4beb41a67c57865a16e9fed 100644
--- a/lib/installer.php
+++ b/lib/installer.php
@@ -104,6 +104,17 @@ class OC_Installer{
 		}
 		
 		//load the info.xml file of the app
+		if(!is_file($extractDir.'/appinfo/info.xml')){
+			//try to find it in a subdir
+			$dh=opendir($extractDir);
+			while($folder=readdir($dh)){
+				if(substr($folder,0,1)!='.' and is_dir($extractDir.'/'.$folder)){
+					if(is_file($extractDir.'/'.$folder.'/appinfo/info.xml')){
+						$extractDir.='/'.$folder;
+					}
+				}
+			}
+		}
 		if(!is_file($extractDir.'/appinfo/info.xml')){
 			OC_Log::write('core','App does not provide an info.xml file',OC_Log::ERROR);
 			OC_Helper::rmdirr($extractDir);