diff --git a/src/engine/objects/Warehouse.java b/src/engine/objects/Warehouse.java
index df69028d..a3d509cd 100644
--- a/src/engine/objects/Warehouse.java
+++ b/src/engine/objects/Warehouse.java
@@ -18,6 +18,7 @@ import engine.net.client.ClientConnection;
 import engine.net.client.msg.*;
 import engine.server.MBServerStatics;
 import org.joda.time.DateTime;
+import org.json.simple.JSONArray;
 import org.json.simple.JSONObject;
 import org.pmw.tinylog.Logger;
 
@@ -28,7 +29,7 @@ import java.util.concurrent.ConcurrentHashMap;
 
 public class Warehouse {
 
-    public EnumSet<Enum.ResourceType> lockedResourceTypes;
+    public EnumSet<Enum.ResourceType> locked;
     public int buildingUID;
     public City city;
     public ArrayList<Transaction> transactions = new ArrayList<>();
@@ -45,6 +46,12 @@ public class Warehouse {
             resources.put(resourceType, value);
         }
 
+        JSONArray lockedResources = (JSONArray) warehouse.get("locked");
+
+        if (lockedResources.isEmpty() == false)
+            for (Object o : lockedResources)
+                this.locked.add(Enum.ResourceType.valueOf((String) o));
+
     }
 
     public static void warehouseDeposit(MerchantMsg msg, PlayerCharacter player, NPC npc) {
@@ -162,10 +169,10 @@ public class Warehouse {
 
         // toggle lock
 
-        if (warehouse.lockedResourceTypes.contains(resourceType)) {
+        if (warehouse.locked.contains(resourceType)) {
 
             boolean worked;
-            warehouse.lockedResourceTypes.remove(resourceType);
+            warehouse.locked.remove(resourceType);
             worked = DbManager.WarehouseQueries.UPDATE_WAREHOUSE(warehouse);
 
             if (worked) {
@@ -176,17 +183,17 @@ public class Warehouse {
                 dispatch = Dispatch.borrow(player, vrm);
                 DispatchMessage.dispatchMsgDispatch(dispatch, Enum.DispatchChannel.SECONDARY);
             } else
-                warehouse.lockedResourceTypes.add(resourceType);
+                warehouse.locked.add(resourceType);
 
             return;
         }
 
         boolean worked;
-        warehouse.lockedResourceTypes.add(resourceType);
+        warehouse.locked.add(resourceType);
         worked = DbManager.WarehouseQueries.UPDATE_WAREHOUSE(warehouse);
 
         if (worked) {
-            warehouse.lockedResourceTypes.add(resourceType);
+            warehouse.locked.add(resourceType);
             ViewResourcesMessage vrm = new ViewResourcesMessage(player);
             vrm.setGuild(player.getGuild());
             vrm.setWarehouseBuilding(warehouseBuilding);
@@ -194,7 +201,7 @@ public class Warehouse {
             dispatch = Dispatch.borrow(player, vrm);
             DispatchMessage.dispatchMsgDispatch(dispatch, Enum.DispatchChannel.SECONDARY);
         } else
-            warehouse.lockedResourceTypes.remove(resourceType);
+            warehouse.locked.remove(resourceType);
 
     }
 
@@ -602,7 +609,7 @@ public class Warehouse {
     }
 
     public static boolean isResourceLocked(Warehouse warehouse, Enum.ResourceType resourceType) {
-        return resourceType.elementOf(warehouse.lockedResourceTypes);
+        return resourceType.elementOf(warehouse.locked);
     }
 
 }
\ No newline at end of file