diff --git a/server.js b/server.js
index 4e64f4d097ae2524c47d50bc09d0c7886da860d9..0d90aeb68861ed91eb2194b796383dffbaa5bc10 100755
--- a/server.js
+++ b/server.js
@@ -28,10 +28,22 @@ app.use( morgan( DEBUG ? 'dev' : 'combined' ) );
 
     // Default return arguments
 var ret = {
-    'status': -1,
-    'ret':    '',
-    'msg':    ''
-};
+        'status': -1,
+        'ret':    '',
+        'msg':    ''
+    };
+
+// Get lock instance
+function getLockInstance( lockName ) {
+    var lock = app.get( 'lock' + lockName );
+    if ( lock ) {
+        return lock;
+    } else {
+        clearCaches( req.params.lock_name );
+        res.sendStatus( 400 );
+        return false;
+    }
+}
 
 // Convert named status to integer representation
 function statusStringtoInt( status ) {
@@ -57,10 +69,8 @@ function clearCaches( lockName ) {
 
 // Reset lock connection
 function disconnectAndClear( lockName ) {
-    var lock = app.get( 'lock' + lockName );
+    var lock = getLockInstance( lockName );
     if ( ! lock ) {
-        clearCaches( lockName );
-        res.sendStatus( 400 );
         return;
     }
 
@@ -75,10 +85,8 @@ function disconnectAndClear( lockName ) {
 // Endpoint to check lock status
 app.get( '/api/status/:lock_name', cache( '15 seconds' ), function( req, res ) {
     // Parse allowed request arguments
-    var lock = app.get( 'lock' + req.params.lock_name );
+    var lock = getLockInstance( req.params.lock_name );
     if ( ! lock ) {
-        clearCaches( req.params.lock_name );
-        res.sendStatus( 400 );
         return;
     }
 
@@ -113,10 +121,8 @@ app.get( '/api/:lock_action(lock|unlock)/:lock_name', cache( '5 seconds' ), func
     }
 
     var lockName = req.params.lock_name,
-        lock = app.get( 'lock' + lockName );
+        lock = getLockInstance( lockName );
     if ( ! lock ) {
-        clearCaches( lockName );
-        res.sendStatus( 400 );
         return;
     }
 
@@ -157,10 +163,8 @@ app.get( '/api/:lock_action(lock|unlock)/:lock_name', cache( '5 seconds' ), func
 // Endpoint to disconnect a lock's BLE connections
 app.get( '/api/disconnect/:lock_name', function( req, res ) {
     // Parse allowed request arguments
-    var lock = app.get( 'lock' + req.params.lock_name );
+    var lock = getLockInstance( req.params.lock_name );
     if ( ! lock ) {
-        clearCaches( req.params.lock_name );
-        res.sendStatus( 400 );
         return;
     }