diff --git a/common/test.py b/common/test.py
index 7a95af3..6c70d83 100644
--- a/common/test.py
+++ b/common/test.py
@@ -328,15 +328,32 @@
         env_files = files or {}
         parameters = parameters or {}
         stack_name = stack_identifier.split('/')[0]
-        self.client.stacks.update(
-            stack_id=stack_identifier,
-            stack_name=stack_name,
-            template=template,
-            files=env_files,
-            disable_rollback=disable_rollback,
-            parameters=parameters,
-            environment=env
-        )
+
+        build_timeout = self.conf.build_timeout
+        build_interval = self.conf.build_interval
+        start = timeutils.utcnow()
+        while timeutils.delta_seconds(start,
+                                      timeutils.utcnow()) < build_timeout:
+            try:
+                self.client.stacks.update(
+                    stack_id=stack_identifier,
+                    stack_name=stack_name,
+                    template=template,
+                    files=env_files,
+                    disable_rollback=disable_rollback,
+                    parameters=parameters,
+                    environment=env
+                )
+            except heat_exceptions.HTTPConflict as ex:
+                # FIXME(sirushtim): Wait a little for the stack lock to be
+                # released and hopefully, the stack should be updatable again.
+                if ex.error['error']['type'] != 'ActionInProgress':
+                    raise ex
+
+                time.sleep(build_interval)
+            else:
+                break
+
         kwargs = {'stack_identifier': stack_identifier,
                   'status': expected_status}
         if expected_status in ['ROLLBACK_COMPLETE']:
