diff --git a/apps/files_sharing/get.php b/apps/files_sharing/get.php
index c80b0c2ef03b5bd7e529c95fd763abaa8f3a2c7d..3a3db6dd38ead4a0733ca9654daa72bdce0808a8 100644
--- a/apps/files_sharing/get.php
+++ b/apps/files_sharing/get.php
@@ -67,9 +67,7 @@ if ($source !== false) {
 		//get time mimetype and set the headers
 		$mimetype = OC_Filesystem::getMimeType($source);
 		header("Content-Transfer-Encoding: binary");
-		header("Expires: 0");
-		header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
-		header("Pragma: public");
+		OC_Response::disableCaching();
 		header('Content-Disposition: filename="'.basename($source).'"');
 		header("Content-Type: " . $mimetype);
 		header("Content-Length: " . OC_Filesystem::filesize($source));
diff --git a/apps/media/ajax/api.php b/apps/media/ajax/api.php
index ac6739a13860b584af5356eadee306dea944a186..bb4502690b5cb54d8ba560feca79e5dfcaab506f 100644
--- a/apps/media/ajax/api.php
+++ b/apps/media/ajax/api.php
@@ -111,18 +111,11 @@ if($arguments['action']){
 			OC_MEDIA_COLLECTION::registerPlay($songId);
 			
 			header('Content-Type:'.$ftype);
-			 // calc an offset of 24 hours
-			$offset = 3600 * 24;
-			// calc the string in GMT not localtime and add the offset
-			$expire = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
-			//output the HTTP header
-			header($expire);
-			header('Cache-Control: max-age=3600, must-revalidate');
-			header('Pragma: public');
+			OC_Response::enableCaching(3600 * 24); // 24 hour
 			header('Accept-Ranges: bytes');
 			header('Content-Length: '.OC_Filesystem::filesize($arguments['path']));
-			$gmt_mtime = gmdate('D, d M Y H:i:s', OC_Filesystem::filemtime($arguments['path']) ) . ' GMT';
-			header("Last-Modified: " . $gmt_mtime );
+			$mtime = OC_Filesystem::filemtime($arguments['path']);
+			OC_Response::setLastModifiedHeader($mtime);
 			
 			OC_Filesystem::readfile($arguments['path']);
 			exit;
diff --git a/apps/media/tomahawk.php b/apps/media/tomahawk.php
index 68401db67ae184e07b9e5302eb2e3b3c015d3152..6dd41233f12929f8c5deb6a67ae747e7a02ebe5c 100644
--- a/apps/media/tomahawk.php
+++ b/apps/media/tomahawk.php
@@ -43,9 +43,7 @@ if(isset($_POST['play']) and $_POST['play']=='true'){
 	$song=OC_MEDIA_COLLECTION::getSong($_POST['song']);
 	$ftype=OC_Filesystem::getMimeType( $song['song_path'] );
 	header('Content-Type:'.$ftype);
-	header('Expires: 0');
-	header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
-	header('Pragma: public');
+	OC_Response::disableCaching();
 	header('Content-Length: '.OC_Filesystem::filesize($song['song_path']));
 
 	OC_Filesystem::readfile($song['song_path']);
diff --git a/files/download.php b/files/download.php
index 71f91d352f7c66b1a037654c6341d30a1e01d624..d1f5ba486d7eaed89341f15cf94edd249d81593f 100644
--- a/files/download.php
+++ b/files/download.php
@@ -41,9 +41,7 @@ $ftype=OC_Filesystem::getMimeType( $filename );
 
 header('Content-Type:'.$ftype);
 header('Content-Disposition: attachment; filename="'.basename($filename).'"');
-header('Expires: 0');
-header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
-header('Pragma: public');
+OC_Response::disableCaching();
 header('Content-Length: '.OC_Filesystem::filesize($filename));
 
 @ob_end_clean();
diff --git a/lib/files.php b/lib/files.php
index 457c8ea38f2bded767dc06af3b477199aacfb4bd..1f8331afb2125ab3a847eeae8ec77d529a6ff0cf 100644
--- a/lib/files.php
+++ b/lib/files.php
@@ -91,9 +91,7 @@ class OC_Files {
 		if($zip or OC_Filesystem::is_readable($filename)){
 			header('Content-Disposition: attachment; filename="'.basename($filename).'"');
 			header('Content-Transfer-Encoding: binary');
-			header('Expires: 0');
-			header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
-			header('Pragma: public');
+			OC_Response::disableCaching();
 			if($zip){
 				header('Content-Type: application/zip');
 				header('Content-Length: ' . filesize($filename));
diff --git a/lib/response.php b/lib/response.php
index f47534aeefb3d4939dce63c7ec367d12aba36d11..2fa0a5adcd3f59eecb9f9d2552820b8b762703d4 100644
--- a/lib/response.php
+++ b/lib/response.php
@@ -30,6 +30,9 @@ class OC_Response {
 		}
 
 	}
+	static public function disableCaching() {
+		self::enableCaching(0);
+	}
 
 	static public function setStatus($status) {
 		$protocol = $_SERVER['SERVER_PROTOCOL'];