diff --git a/lib/private/setup.php b/lib/private/setup.php
index 9c3034dc06ba6f7e87ae3bca7c1fdc12efbd7f59..b5c530a091fd02741edbc98f996849bdb2710ca6 100644
--- a/lib/private/setup.php
+++ b/lib/private/setup.php
@@ -165,8 +165,19 @@ class OC_Setup {
 	}
 
 	public static function protectDataDirectory() {
-		$content = "deny from all\n";
-		$content.= "IndexIgnore *";
+		//Require all denied
+		$now =  date('Y-m-d H:i:s');
+		$content = "# Generated by ownCloud on $now\n";
+		$content.= "# line below if for Apache 2.4\n";
+		$content.= "<ifModule mod_authz_core>\n";
+		$content.= "Require all denied\n";
+		$content.= "</ifModule>\n\n";
+		$content.= "# line below if for Apache 2.2\n";
+		$content.= "<ifModule !mod_authz_core>\n";
+		$content.= "deny from all\n";
+		$content.= "</ifModule>\n\n";
+		$content.= "# section for Apache 2.2 and 2.4\n";
+		$content.= "IndexIgnore *\n";
 		file_put_contents(OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data').'/.htaccess', $content);
 		file_put_contents(OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data').'/index.html', '');
 	}