diff --git a/includes/abstract-integration.php b/includes/abstract-integration.php
index 5f1cb5e3b66f219233e77038870cef7a1b64e4b5..432dc1c895e2bd578be5c128d2e0e1a21e10dcb2 100644
--- a/includes/abstract-integration.php
+++ b/includes/abstract-integration.php
@@ -181,12 +181,7 @@ abstract class Integration extends Singleton
             $form_data
         );
 
-        $error = false;
         foreach (array_values($hooks) as $hook) {
-            if ($error) {
-                break;
-            }
-
             $backend = apply_filters(
                 'wpct_http_backend',
                 null,
@@ -219,30 +214,29 @@ abstract class Integration extends Singleton
             }
 
             if (is_wp_error($res)) {
+                do_action(
+                    'wpct_erp_forms_on_failure',
+                    $res,
+                    $payload,
+                    $attachments,
+                    $form_data
+                );
+
                 $this->notify_error(
                     $form_data,
                     $payload,
                     print_r($res->get_error_data(), true)
                 );
-                $error = true;
+            } else {
+                do_action(
+                    'wpct_erp_forms_after_submission',
+                    $res,
+                    $payload,
+                    $attachments,
+                    $form_data
+                );
             }
         }
-
-        if (!$error) {
-            do_action(
-                'wpct_erp_forms_after_submission',
-                $payload,
-                $attachments,
-                $form_data
-            );
-        } else {
-            do_action(
-                'wpct_erp_forms_on_failure',
-                $payload,
-                $attachments,
-                $form_data
-            );
-        }
     }
 
     /**