diff --git a/tests/conftest.py b/tests/conftest.py
index 9dc37d3..27cf13b 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -27,17 +27,12 @@
     if "backend" in metafunc.fixturenames:
         filtered_backends = []
         for backend in selected_backends:
-            try:
-                required = metafunc.function.requires_backend_interface
-            except AttributeError:
-                # function does not have requires_backend_interface decorator
+            required = metafunc.function.requires_backend_interface
+            required_interfaces = tuple(
+                mark.kwargs["interface"] for mark in required
+            )
+            if isinstance(backend, required_interfaces):
                 filtered_backends.append(backend)
-            else:
-                required_interfaces = tuple(
-                    mark.kwargs["interface"] for mark in required
-                )
-                if isinstance(backend, required_interfaces):
-                    filtered_backends.append(backend)
 
         # If you pass an empty list to parametrize Bad Things(tm) happen
         # as of pytest 2.6.4 when the test also has a parametrize decorator
