diff --git a/cvp-sanity/cvp_checks/tests/test_ntp_sync.py b/cvp-sanity/cvp_checks/tests/test_ntp_sync.py
deleted file mode 100644
index be0f411..0000000
--- a/cvp-sanity/cvp_checks/tests/test_ntp_sync.py
+++ /dev/null
@@ -1,26 +0,0 @@
-from cvp_checks import utils
-import json
-import pytest
-
-@pytest.mark.xfail
-def test_ntp_sync(local_salt_client):
-    """Test checks that system time is the same across all nodes"""
-
-    active_nodes = utils.get_active_nodes()
-    config = utils.get_configuration()
-    nodes_time = local_salt_client.cmd(
-        utils.list_to_target_string(active_nodes, 'or'),
-        'cmd.run',
-        ['date +%s'],
-        expr_form='compound')
-    result = {}
-    for node, time in nodes_time.iteritems():
-        if node in config.get("ntp_skipped_nodes"):
-            continue
-        if time in result:
-            result[time].append(node)
-            result[time].sort()
-        else:
-            result[time] = [node]
-    assert len(result) <= 1, 'Not all nodes have the same time:\n {}'.format(
-                             json.dumps(result, indent=4))
diff --git a/test_set/cvp-sanity/tests/test_contrail.py b/test_set/cvp-sanity/tests/test_contrail.py
index 862606a..2ea9bf4 100644
--- a/test_set/cvp-sanity/tests/test_contrail.py
+++ b/test_set/cvp-sanity/tests/test_contrail.py
@@ -1,6 +1,6 @@
 import pytest
 import json
-import utils
+
 
 pytestmark = pytest.mark.usefixtures("contrail")
 
