diff --git a/neutron_tempest_plugin/common/ip.py b/neutron_tempest_plugin/common/ip.py
index 592f040..a286d6b 100644
--- a/neutron_tempest_plugin/common/ip.py
+++ b/neutron_tempest_plugin/common/ip.py
@@ -22,8 +22,10 @@
 from neutron_lib import constants
 from oslo_log import log
 from oslo_utils import excutils
+from tempest.common import waiters
 
 from neutron_tempest_plugin.common import shell
+from neutron_tempest_plugin.common import utils as common_utils
 
 
 LOG = log.getLogger(__name__)
@@ -375,3 +377,25 @@
     if used_cidr:
         exception_str += ', used CIDR %s' % used_cidr
     raise Exception(exception_str)
+
+
+def wait_for_interface_status(client, server_id, port_id, status,
+                              ssh_client=None, mac_address=None):
+    """Waits for an interface to reach a given status and checks VM NIC
+
+    This method enhances the tempest one. Apart from checking the interface
+    status returned by Nova, this methods access the VM to check if the NIC
+    interface is already detected by the kernel.
+    """
+    body = waiters.wait_for_interface_status(client, server_id, port_id,
+                                             status)
+
+    if ssh_client and mac_address:
+        ip_command = IPCommand(ssh_client)
+        common_utils.wait_until_true(
+            lambda: ip_command.get_nic_name_by_mac(mac_address),
+            timeout=10,
+            exception=RuntimeError('Interface with MAC %s not present in the '
+                                   'VM' % mac_address))
+
+    return body
diff --git a/neutron_tempest_plugin/common/utils.py b/neutron_tempest_plugin/common/utils.py
index 34e7464..f03762c 100644
--- a/neutron_tempest_plugin/common/utils.py
+++ b/neutron_tempest_plugin/common/utils.py
@@ -26,8 +26,10 @@
     from urllib import parse as urlparse
 
 import eventlet
+
 from tempest.lib import exceptions
 
+
 SCHEMA_PORT_MAPPING = {
     "http": 80,
     "https": 443,
diff --git a/neutron_tempest_plugin/scenario/test_ipv6.py b/neutron_tempest_plugin/scenario/test_ipv6.py
index 844f995..02e2846 100644
--- a/neutron_tempest_plugin/scenario/test_ipv6.py
+++ b/neutron_tempest_plugin/scenario/test_ipv6.py
@@ -16,7 +16,6 @@
 from neutron_lib import constants as lib_constants
 from oslo_log import log
 from tempest.common import utils as tempest_utils
-from tempest.common import waiters
 from tempest.lib.common.utils import data_utils
 from tempest.lib import decorators
 from tempest.lib import exceptions as lib_exc
@@ -158,9 +157,10 @@
         # And plug VM to the second IPv6 network
         ipv6_port = self.create_port(ipv6_networks[1])
         self.create_interface(vm['id'], ipv6_port['id'])
-        waiters.wait_for_interface_status(
+        ip.wait_for_interface_status(
             self.os_primary.interfaces_client, vm['id'],
-            ipv6_port['id'], lib_constants.PORT_STATUS_ACTIVE)
+            ipv6_port['id'], lib_constants.PORT_STATUS_ACTIVE,
+            ssh_client=ssh_client, mac_address=ipv6_port['mac_address'])
         self._test_ipv6_address_configured(ssh_client, vm, ipv6_port)
 
     @decorators.idempotent_id('b13e5408-5250-4a42-8e46-6996ce613e91')
