diff --git a/python/tools/benchmark.py b/python/tools/benchmark.py
index 3288e8bb499de3124983d810d7b6b6242e620b35..9bfd595c42d8e486d6cc07ca412443aa3e6f3644 100755
--- a/python/tools/benchmark.py
+++ b/python/tools/benchmark.py
@@ -527,8 +527,8 @@ class PersistenceTest(FeatureTest):
                         DhtNetwork.log('sending message stats request')
                         stats = proc.sendGetMessageStats()
                         cluster_ops_count += sum(stats[1:])
-                        DhtNetwork.log("Waiting 15 seconds for packets to work their way effectively.")
-                        time.sleep(15)
+                        #DhtNetwork.log("Waiting 15 seconds for packets to work their way effectively.")
+                        #time.sleep(15)
                     ops_count.append(cluster_ops_count/self.wb.node_num)
 
                     # checking if values were transfered to new nodes
@@ -693,7 +693,7 @@ class PerformanceTest(FeatureTest):
         """
         @param test: is one of the following:
                      - 'gets': multiple get operations and statistical results.
-                     - 'delete_put': perform multiple put() operations followed
+                     - 'delete': perform multiple put() operations followed
                        by targeted deletion of nodes hosting the values. Doing
                        so until half of the nodes on the network remain.
         @type  test: string
@@ -703,6 +703,12 @@ class PerformanceTest(FeatureTest):
     def run(self):
         if self._test == 'gets':
             self._getsTimesTest()
+        elif self._test == 'delete':
+            self._delete()
+
+    ###########
+    #  Tests  #
+    ###########
 
     def _getsTimesTest(self):
         """
@@ -787,6 +793,60 @@ class PerformanceTest(FeatureTest):
         plt.ioff()
         plt.show()
 
+    def _delete(self):
+        """
+        Tests for performance of get() and put() operations on the network while
+        deleting around the target hash.
+        """
+
+        FeatureTest.done = 0
+        FeatureTest.lock = threading.Condition()
+        FeatureTest.foreign_nodes = []
+        FeatureTest.foreign_values = []
+
+        bootstrap = self.bootstrap
+
+        try:
+            bootstrap.resize(3)
+            consumer = bootstrap.get(1)
+            producer = bootstrap.get(2)
+
+            myhash = random_hash()
+            local_values = [Value(b'foo'), Value(b'bar'), Value(b'foobar')]
+
+            for _ in range(max(1, int(self.wb.node_num/32))):
+                self._dhtGet(consumer, myhash)
+                DhtNetwork.log("Waiting 15 seconds...")
+                time.sleep(15)
+
+                self._dhtPut(producer, myhash, *local_values)
+
+                #checking if values were transfered
+                self._dhtGet(consumer, myhash)
+                DhtNetwork.log('Values are found on :')
+                for node in FeatureTest.foreign_nodes:
+                    DhtNetwork.log(node)
+
+                if not FeatureTest.successfullTransfer(local_values, FeatureTest.foreign_values):
+                    if FeatureTest.foreign_values:
+                        DhtNetwork.log('[GET]: Only ', len(FeatureTest.foreign_values) ,' on ',
+                                len(local_values), ' values successfully put.')
+                    else:
+                        DhtNetwork.log('[GET]: 0 values successfully put')
+
+                DhtNetwork.log('Removing all nodes hosting target values...')
+                for proc in self.wb.procs:
+                    DhtNetwork.log('[REMOVE]: sending shutdown request to', proc)
+                    proc.sendNodesRequest(
+                            DhtNetworkSubProcess.SHUTDOWN_NODE_REQ,
+                            FeatureTest.foreign_nodes
+                    )
+
+        except Exception as e:
+            print(e)
+        finally:
+            bootstrap.resize(1)
+
 if __name__ == '__main__':
 
     parser = argparse.ArgumentParser(description='Run, test and benchmark a '\