diff --git a/Controller.java b/Controller.java
index 4305b5770c47c6b1a0464d2cacbeddd999ef425d..7c79f4b145f642168b5ba37b452d33aa19dc2715 100644
--- a/Controller.java
+++ b/Controller.java
@@ -615,15 +615,17 @@ public class Controller {
             System.out.println("Remove operation started for file: " + filename);
 
             boolean exists = false;
-            for (Index i : index) {
-                if (i.getFilename().equals(filename)) {
-                    exists = true;
-                    if (i.getStatus().equals("remove in progress")) {
-                        messageOutput.println("ERROR_FILE_DOES_NOT_EXIST");
-                        return;
-                    } else if (i.getStatus().equals("store_in_progress")) {
-                        messageOutput.println("ERROR_FILE_DOES_NOT_EXIST");
-                        return;
+            synchronized (clientLock) {
+                for (Index i : index) {
+                    if (i.getFilename().equals(filename)) {
+                        exists = true;
+                        if (i.getStatus().equals("remove in progress")) {
+                            messageOutput.println("ERROR_FILE_DOES_NOT_EXIST");
+                            return;
+                        } else if (i.getStatus().equals("store_in_progress")) {
+                            messageOutput.println("ERROR_FILE_DOES_NOT_EXIST");
+                            return;
+                        }
                     }
                 }
             }