diff --git a/access_node/controllers/nest_controller.py b/access_node/controllers/nest_controller.py
index e4d52ca51689e3d66b4554d6323bdecc2e02fd15..176bb160326d06a39072b4479a59276b87aea3d5 100644
--- a/access_node/controllers/nest_controller.py
+++ b/access_node/controllers/nest_controller.py
@@ -307,53 +307,7 @@ def nest_get_spikes_by_population(population_id, _from=None, to=None, offset=Non
 
     :rtype: Spikes
     """
-    spikes = Spikes([], [])
-    for node in nodes.nest_simulation_nodes:
-        response = requests.get(
-            node+'/spikes', params={"from": _from, "to": to, "population": population_id})
-        try:
-            response_json = response.json()
-            spikes.simulation_times.extend(response_json['simulation_times'])
-            spikes.gids.extend(response_json['gids'])
-        except:
-            pass
-
-    # # sort
-    # sorted_ids = [x for _, x in sorted(
-    #     zip(spikes.simulation_times, spikes.gids))]
-    # spikes.gids = sorted_ids
-    # spikes.simulation_times.sort()
-
-    # # offset and limit
-    # if (offset is None):
-    #     offset = 0
-    # if (limit is None or (limit + offset) > len(spikes.gids)):
-    #     limit = len(spikes.gids) - offset
-    # spikes.gids = spikes.gids[offset:offset+limit]
-    # spikes.simulation_times = spikes.simulation_times[offset:offset+limit]
+    gids = nest_get_gids_in_population(population_id)
+    return nest_get_spikes(_from, to, gids, offset, limit)
+
 
-    return spikes
-    # spikes = Spikes([], [])
-    # for node in nodes.nest_simulation_nodes:
-    #     response = requests.get(
-    #         node+'/population/$'+str(population_id)+'/spikes', params={"from": _from, "to": to}).json()
-    #     for x in range(len(response['simulation_times'])):
-    #         spikes.simulation_times.append(response['simulation_times'][x])
-    #         spikes.gids.append(response['gids'][x])
-
-    # # sort
-    # sorted_ids = [x for _, x in sorted(
-    #     zip(spikes.simulation_times, spikes.gids))]
-    # spikes.gids = sorted_ids
-    # spikes.simulation_times.sort()
-
-    # # offset and limit
-    # if (offset is None):
-    #     offset = 0
-    # if (limit is None or (limit + offset) > len(spikes.gids)):
-    #     limit = len(spikes.gids) - offset
-    # spikes.gids = spikes.gids[offset:offset+limit]
-    # spikes.simulation_times = spikes.simulation_times[offset:offset+limit]
-
-    # return spikes
-    
\ No newline at end of file