diff --git a/common/test.py b/common/test.py
index 38748aa..7d3ea4e 100644
--- a/common/test.py
+++ b/common/test.py
@@ -234,7 +234,10 @@
             else:
                 if res.resource_status == status:
                     return
-                if fail_regexp.search(res.resource_status):
+                wait_for_action = status.split('_')[0]
+                resource_action = res.resource_status.split('_')[0]
+                if (resource_action == wait_for_action and
+                        fail_regexp.search(res.resource_status)):
                     raise exceptions.StackResourceBuildErrorException(
                         resource_name=res.resource_name,
                         stack_identifier=stack_identifier,
@@ -259,7 +262,9 @@
             else:
                 return True
 
-        if fail_regexp.search(stack.stack_status):
+        wait_for_action = status.split('_')[0]
+        if (stack.action == wait_for_action and
+                fail_regexp.search(stack.stack_status)):
             # Handle UPDATE_FAILED case.
             if status == 'UPDATE_FAILED':
                 if self.updated_time.get(
diff --git a/scenario/test_neutron_autoscaling.py b/scenario/test_neutron_autoscaling.py
index 9bbfbab..9a1e634 100644
--- a/scenario/test_neutron_autoscaling.py
+++ b/scenario/test_neutron_autoscaling.py
@@ -50,8 +50,10 @@
         )
 
         # Check number of members
-        members = self.network_client.list_members()
-        self.assertEqual(1, len(members["members"]))
+        pool_resource = self.client.resources.get(stack_id, 'test_pool')
+        pool_members = self.network_client.list_members(
+            pool_id=pool_resource.physical_resource_id)['members']
+        self.assertEqual(1, len(pool_members))
 
         # Increase desired capacity and update the stack
         template = self._load_template(
@@ -65,5 +67,6 @@
         )
 
         # Check number of members
-        upd_members = self.network_client.list_members()
-        self.assertEqual(2, len(upd_members["members"]))
+        pool_members = self.network_client.list_members(
+            pool_id=pool_resource.physical_resource_id)['members']
+        self.assertEqual(2, len(pool_members))
