diff --git a/tcp_tests/tests/system/test_backup_restore_cassandra.py b/tcp_tests/tests/system/test_backup_restore_cassandra.py
index 5dd695c..a6170dd 100644
--- a/tcp_tests/tests/system/test_backup_restore_cassandra.py
+++ b/tcp_tests/tests/system/test_backup_restore_cassandra.py
@@ -41,10 +41,12 @@
     def is_network_restored(self, underlay_actions, network_name, cfg_node):
         get_net_by_name = underlay_actions.check_call(
             "source /root/keystonercv3 && " +
-            "openstack network list --name {}".format(network_name),
+            "openstack network show {}".format(network_name),
             node_name=cfg_node,
             raise_on_err=False)["stdout"]
-        return get_net_by_name != ['\n']
+        return get_net_by_name != "Error while executing command:" + \
+                                  " No Network found for " +\
+                                  "{}".format(network_name)
 
     @pytest.fixture()
     def handle_restore_params(self, reclass_actions):
@@ -148,13 +150,14 @@
         salt = salt_actions
         reclass = reclass_actions
         dt = drivetrain_actions
-        cfg_node = self.get_cfg_fqn(salt)
+        # cfg_node = self.get_cfg_fqn(salt)
+        ctl_node = underlay_actions.get_target_node_names(target='ctl')[0]
         fixture_network_name = "test1"
         jenkins_start_timeout = 60
         jenkins_build_timeout = 1800
 
         show_step(1)
-        self.create_network(underlay_actions, fixture_network_name, cfg_node)
+        self.create_network(underlay_actions, fixture_network_name, ctl_node)
         show_step(2)
         create_instant_backup(salt)
         show_step(3)
@@ -173,7 +176,7 @@
         network_presented = self.is_network_restored(
             underlay_actions,
             fixture_network_name,
-            cfg_node)
+            ctl_node)
         assert network_presented, \
             'Network {} is not restored'.format(fixture_network_name)
 
@@ -203,10 +206,11 @@
         """
         salt = salt_actions
         fixture_network_name = "backuptest2"
-        cfg_node = self.get_cfg_fqn(salt)
+        # cfg_node = self.get_cfg_fqn(salt)
+        ctl_node = underlay_actions.get_target_node_names(target='ctl')[0]
 
         show_step(1)
-        self.create_network(underlay_actions, fixture_network_name, cfg_node)
+        self.create_network(underlay_actions, fixture_network_name, ctl_node)
         show_step(2)
         create_instant_backup(salt)
         show_step(3)
@@ -244,7 +248,7 @@
         network_presented = self.is_network_restored(
             underlay_actions,
             fixture_network_name,
-            cfg_node)
+            ctl_node)
         assert network_presented, \
             'Network {} is not restored'.format(fixture_network_name)
         statuses_ok = True
