diff --git a/database.go b/database.go
index 5b22a8730d698bc52bce7657f53d167fd8495244..98d32e75d2a5cee06e0de51984352665e2e7933c 100644
--- a/database.go
+++ b/database.go
@@ -50,9 +50,12 @@ func (s *DBSaver) setStatus(status DBSaverStatus) *DBSaver {
 }
 
 // isStatus returns true if the DBSaver has the given status
-func (s *DBSaver) isStatus(status DBSaverStatus) bool {
-	s.mu.Lock()
-	defer s.mu.Unlock()
+// the lock is not needed here, because it is only used in the Start() method
+func (s *DBSaver) isStatus(status DBSaverStatus, lock bool) bool {
+	if lock {
+		s.mu.Lock()
+		defer s.mu.Unlock()
+	}
 
 	return s.status == status
 
@@ -67,7 +70,7 @@ func (s *DBSaver) Start() error {
 		return ErrNoDatabaseConnection
 	}
 
-	if s.isStatus(DBSaverStatusRunning) {
+	if s.isStatus(DBSaverStatusRunning, false) {
 		return nil
 	}