diff --git a/info_node/controllers/nest_controller.py b/info_node/controllers/nest_controller.py
index 12c17b86bc29025510f2b0214028b5b1a4aea8df..1727bc08f62665e4fd86afc7b64bc94589a656de 100644
--- a/info_node/controllers/nest_controller.py
+++ b/info_node/controllers/nest_controller.py
@@ -108,10 +108,9 @@ def put_gids(gids, address):  # noqa: E501
     """
     for gid in gids:
         if gid in nest_storage.data.index.values:
-            return Status(code=400, message="At least one gid already registered")
-
-    for gid in gids:
-        nest_storage.data.loc[gid] = [Node(address=address), None, None]
+            nest_storage.data.at[gid, "node"] = Node(address=address)
+        else:
+            nest_storage.data.loc[gid] = [Node(address=address), None, None]
 
     return ok_status
 
@@ -132,7 +131,7 @@ def put_multimeter_info(id, attributes=None, gids=None):  # noqa: E501
     """
     for gid in gids:
         if gid not in nest_storage.data.index.values:
-            return Status(code=400, message="At least one gid has not been registered yet")
+            nest_storage.data.loc[gid] = [None, None, None]
 
     new_multimeter = True
     for multimeter in nest_storage.multimeters:
@@ -167,15 +166,14 @@ def put_populations(gids):  # noqa: E501
     """
     for gid in gids:
         if gid not in nest_storage.data.index.values:
-            return Status(code=400, message="At least one gid has not been registered yet")
+            nest_storage.data.loc[gid] = [None, None, None]
 
     for gid in gids:
-        row = nest_storage.data.loc[gid]
-        row["population"] = nest_storage.num_populations + 1
-        if row["properties"] is None:
-            row["properties"] = {"population": nest_storage.num_populations + 1}
+        nest_storage.data.at[gid, "population"] = nest_storage.num_populations + 1
+        if nest_storage.data.at[gid, "properties"] is None:
+            nest_storage.data.at[gid, "properties"] = {"population": nest_storage.num_populations + 1}
         else:
-            row["properties"].update({"population": nest_storage.num_populations + 1 })
+            nest_storage.data.at[gid, "properties"].update({"population": nest_storage.num_populations + 1 })
     nest_storage.num_populations += 1
 
     return nest_storage.num_populations
@@ -212,8 +210,7 @@ def set_neuron_properties(properties):  # noqa: E501
 
     for prop in properties:
         if prop.gid not in nest_storage.data.index.values:
-            return Status(code=400, message="At least one gid has not been registered yet!")
-
+            nest_storage.data.loc[prop.gid] = [None, None, None]
         nest_storage.data.at[prop.gid, "properties"] = prop.properties
 
     return ok_status