diff --git a/lib/private/memcache/factory.php b/lib/private/memcache/factory.php
index dba9e8a0e00d6a4f31eaf802cc7bbba93666ad4b..1e663eecfe1bdf0a18a46f0f9ca032da0316a011 100644
--- a/lib/private/memcache/factory.php
+++ b/lib/private/memcache/factory.php
@@ -24,7 +24,7 @@ class Factory implements ICacheFactory {
 	}
 
 	/**
-	 * get a cache instance, will return null if no backend is available
+	 * get a cache instance, or Null backend if no backend available
 	 *
 	 * @param string $prefix
 	 * @return \OC\Memcache\Cache
@@ -42,7 +42,7 @@ class Factory implements ICacheFactory {
 		} elseif (Memcached::isAvailable()) {
 			return new Memcached($prefix);
 		} else {
-			return null;
+			return new Null($prefix);
 		}
 	}
 
diff --git a/lib/private/memcache/null.php b/lib/private/memcache/null.php
new file mode 100644
index 0000000000000000000000000000000000000000..62cd060aacad9b25a4f1b289d1202aa934a32d29
--- /dev/null
+++ b/lib/private/memcache/null.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Copyright (c) 2015 Robin McCorkell <rmccorkell@karoshi.org.uk>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\Memcache;
+
+class Null extends Cache {
+	public function get($key) {
+		return null;
+	}
+
+	public function set($key, $value, $ttl = 0) {
+		return true;
+	}
+
+	public function hasKey($key) {
+		return false;
+	}
+
+	public function remove($key) {
+		return true;
+	}
+
+	public function clear($prefix = '') {
+		return true;
+	}
+
+	static public function isAvailable() {
+		return true;
+	}
+}