diff --git a/contrib/plugins/magnum_plugin/magnum-app/io.murano.apps.MagnumApp/Classes/MagnumBayApp.yaml b/contrib/plugins/magnum_plugin/magnum-app/io.murano.apps.MagnumApp/Classes/MagnumBayApp.yaml
index 3d0b3b28..e593dbe2 100644
--- a/contrib/plugins/magnum_plugin/magnum-app/io.murano.apps.MagnumApp/Classes/MagnumBayApp.yaml
+++ b/contrib/plugins/magnum_plugin/magnum-app/io.murano.apps.MagnumApp/Classes/MagnumBayApp.yaml
@@ -79,5 +79,12 @@ Methods:
               - $._environment.reporter.report_error($, $formatString.format($e.message))
               - Rethrow:
       - $.setAttr(bayId, $bayId)
+      - $bayStatus: $._magnum.getBayStatus($bayId)
+      - If: $bayStatus = "CREATE_FAILED"
+        Then:
+          - $msg: 'Magnum bay create failed'
+          - $._environment.reporter.report_error($this, $msg)
+          - Throw: MagnumBayCreateFailed
+            Message: $msg
       - $msg: format('Magnum bay {0} is created', $.name)
       - $._environment.reporter.report($this, $msg)
diff --git a/contrib/plugins/magnum_plugin/magnum_plugin/__init__.py b/contrib/plugins/magnum_plugin/magnum_plugin/__init__.py
index daa84b09..6195db82 100644
--- a/contrib/plugins/magnum_plugin/magnum_plugin/__init__.py
+++ b/contrib/plugins/magnum_plugin/magnum_plugin/__init__.py
@@ -66,11 +66,16 @@ class MagnumClient(object):
     def delete_baymodel(self, baymodel_id):
         self._client.baymodels.delete(baymodel_id)
 
+    def get_bay_status(self, bay_id):
+        bays = self._client.bays
+        bay = bays.get(bay_id)
+        return bay.status
+
     def create_bay(self, args):
         bays = self._client.bays
         bay = bays.create(**args)
         self._wait_on_status(bays, bay.uuid, [None, "CREATE_IN_PROGRESS"],
-                             ["CREATE_COMPLETE"])
+                             ["CREATE_COMPLETE", "CREATE_FAILED"])
         return bay.uuid
 
     def delete_bay(self, bay_id):