diff --git a/src/test/java/org/caosdb/server/database/DatabaseAccessManagerTest.java b/src/test/java/org/caosdb/server/database/DatabaseAccessManagerTest.java
index f03817ff29aedfce521d07a3fe8024f0abc3a5d3..0ba085b1fd050578b50e443613f82167890ea61f 100644
--- a/src/test/java/org/caosdb/server/database/DatabaseAccessManagerTest.java
+++ b/src/test/java/org/caosdb/server/database/DatabaseAccessManagerTest.java
@@ -30,10 +30,7 @@ import org.junit.Assert;
 import org.junit.Test;
 
 public class DatabaseAccessManagerTest {
-  public static final ReadAccessSemaphore readAccess = new ReadAccessSemaphore();
-  public static final WriteAccessLock writeAccess = new WriteAccessLock(readAccess);
-
-  Thread createReadThread(long wait, String name) {
+  Thread createReadThread(long wait, String name, ReadAccessSemaphore readAccess) {
     return new Thread(
         new Runnable() {
 
@@ -47,13 +44,12 @@ public class DatabaseAccessManagerTest {
             } finally {
               readAccess.release();
             }
-            System.out.println(Thread.currentThread().getName() + " terminated");
           }
         },
         name);
   }
 
-  Thread createWriteThread(long wait, String name) {
+  Thread createWriteThread(long wait, String name, WriteAccessLock writeAccess) {
     return new Thread(
         new Runnable() {
 
@@ -69,7 +65,6 @@ public class DatabaseAccessManagerTest {
             } finally {
               writeAccess.release();
             }
-            System.out.println(Thread.currentThread().getName() + " terminated");
           }
         },
         name);
@@ -77,15 +72,17 @@ public class DatabaseAccessManagerTest {
 
   @Test
   public void testDeadLock() throws InterruptedException {
+    final ReadAccessSemaphore readAccess = new ReadAccessSemaphore();
+    final WriteAccessLock writeAccess = new WriteAccessLock(readAccess);
     List<Thread> ts = new LinkedList<>();
     for (int i = 0; i < 1000; i++) {
-      Thread t1 = createReadThread(1, "Ra" + i);
-      Thread t2 = createReadThread(2, "Rb" + i);
-      Thread t3 = createReadThread(3, "Rc" + i);
-      Thread t5 = createReadThread(5, "Rd" + i);
-      Thread t7 = createReadThread(7, "Re" + i);
-      Thread t11 = createReadThread(11, "Rf" + i);
-      Thread w5 = createWriteThread(2, "W" + i);
+      Thread t1 = createReadThread(1, "Ra" + i, readAccess);
+      Thread t2 = createReadThread(2, "Rb" + i, readAccess);
+      Thread t3 = createReadThread(3, "Rc" + i, readAccess);
+      Thread t5 = createReadThread(5, "Rd" + i, readAccess);
+      Thread t7 = createReadThread(7, "Re" + i, readAccess);
+      Thread t11 = createReadThread(11, "Rf" + i, readAccess);
+      Thread w5 = createWriteThread(2, "W" + i, writeAccess);
 
       t1.start();
       t2.start();
@@ -105,13 +102,14 @@ public class DatabaseAccessManagerTest {
     }
 
     for (Thread t : ts) {
-      t.join();
-    }
-    for (Thread t : ts) {
+      t.join(10000);
       assertFalse(t.isAlive());
     }
   }
 
+  public static final ReadAccessSemaphore readAccess = new ReadAccessSemaphore();
+  public static final WriteAccessLock writeAccess = new WriteAccessLock(readAccess);
+
   /**
    * Two read-, two write-threads. The read-threads request read access, the write-threads request
    * write access.<br>