diff --git a/tests/lib/memcache/memcached.php b/tests/lib/memcache/memcached.php
index 4b38ae8ef3c54b3e92011ceb55b13b23efba0453..fdab32693ff8d9c81bf81a2b0ef99f6b8d299569 100644
--- a/tests/lib/memcache/memcached.php
+++ b/tests/lib/memcache/memcached.php
@@ -10,11 +10,17 @@
 namespace Test\Memcache;
 
 class Memcached extends Cache {
-	public function setUp() {
+	static public function setUpBeforeClass() {
 		if (!\OC\Memcache\Memcached::isAvailable()) {
-			$this->markTestSkipped('The memcached extension is not available.');
-			return;
+			self::markTestSkipped('The memcached extension is not available.');
+		}
+		$instance = new \OC\Memcache\Memcached(uniqid());
+		if ($instance->set(uniqid(), uniqid()) === false) {
+			self::markTestSkipped('memcached server seems to be down.');
 		}
+	}
+
+	public function setUp() {
 		$this->instance = new \OC\Memcache\Memcached(uniqid());
 	}
 }