diff --git a/tcp_tests/fixtures/stacklight_fixtures.py b/tcp_tests/fixtures/stacklight_fixtures.py
index e985078..8028383 100644
--- a/tcp_tests/fixtures/stacklight_fixtures.py
+++ b/tcp_tests/fixtures/stacklight_fixtures.py
@@ -66,14 +66,6 @@
         #    installed TCP API endpoint
         pass
 
-    # Workaround for keepalived hang issue after env revert from snapshot
-    # see https://mirantis.jira.com/browse/PROD-12038
-    LOG.warning('Restarting keepalived service on controllers...')
-    sl_actions._salt.local(tgt='ctl*', fun='cmd.run',
-                           args='systemctl restart keepalived.service')
-    LOG.warning('Restarting keepalived service on mon nodes...')
-    sl_actions._salt.local(tgt='mon*', fun='cmd.run',
-                           args='systemctl restart keepalived.service')
     return sl_actions
 
 
diff --git a/tcp_tests/managers/openstack_manager.py b/tcp_tests/managers/openstack_manager.py
index 89559b1..2780d9b 100644
--- a/tcp_tests/managers/openstack_manager.py
+++ b/tcp_tests/managers/openstack_manager.py
@@ -69,14 +69,6 @@
                    "-v /root/:/home/rally {2} "
                    "-v /etc/ssl/certs/:/etc/ssl/certs/ >> image.output"
                    .format(conf_name, pattern, registry))
-        LOG.info("Restart keepalived service before running tempest tests")
-        restart_keepalived_cmd = ("salt --hard-crash "
-                                  "--state-output=mixed "
-                                  "--state-verbose=True "
-                                  "-C 'I@keepalived:cluster:enabled:True' "
-                                  "service.restart keepalived")
-        self.__underlay.check_call(cmd=restart_keepalived_cmd,
-                                   host=self.__config.salt.salt_master_host)
         LOG.info("Running tempest testing on node {0} using the following "
                  "command:\n{1}".format(target_name[0], cmd))
 
diff --git a/tcp_tests/managers/sl_manager.py b/tcp_tests/managers/sl_manager.py
index 1a97737..4eb6228 100644
--- a/tcp_tests/managers/sl_manager.py
+++ b/tcp_tests/managers/sl_manager.py
@@ -170,20 +170,7 @@
         :param nodes: list of strings, names of nodes with keepalived VIP
         """
         prometheus_client = self.api
-        try:
-            current_targets = prometheus_client.get_targets()
-        except Exception:
-            LOG.info('Restarting keepalived service on mon nodes...')
-            for node in nodes:
-                self._salt.local(tgt=node, fun='cmd.run',
-                                 args='systemctl restart keepalived')
-            LOG.warning(
-                'Ip states after force restart {0}'.format(
-                    self._salt.local(tgt='mon*',
-                                     fun='cmd.run', args='ip a')))
-            self._salt.local(tgt="mon*", fun='cmd.run',
-                             args='systemctl restart keepalived')
-            current_targets = prometheus_client.get_targets()
+        current_targets = prometheus_client.get_targets()
 
         LOG.debug('Current targets after install {0}'
                   .format(current_targets))
diff --git a/tcp_tests/tests/system/test_upgrade_stacklight.py b/tcp_tests/tests/system/test_upgrade_stacklight.py
index eec3fcd..e946185 100644
--- a/tcp_tests/tests/system/test_upgrade_stacklight.py
+++ b/tcp_tests/tests/system/test_upgrade_stacklight.py
@@ -42,15 +42,6 @@
         sl_actions.install(commands, label='Upgrade SL services')
         hardware.create_snapshot(name='sl_v1_upgraded')
 
-# Workaround for keepalived hang issue after env revert from snapshot
-# see https://mirantis.jira.com/browse/PROD-12038
-        LOG.warning('Restarting keepalived service on controllers...')
-        sl_actions._salt.local(tgt='ctl*', fun='cmd.run',
-                               args='systemctl restart keepalived.service')
-        LOG.warning('Restarting keepalived service on mon nodes...')
-        sl_actions._salt.local(tgt='mon*', fun='cmd.run',
-                               args='systemctl restart keepalived.service')
-
         mon_nodes = sl_deployed.get_monitoring_nodes()
         LOG.debug('Mon nodes list {0}'.format(mon_nodes))
 
