diff --git a/end2end-tests/tests/cucumber_tests.rs b/end2end-tests/tests/cucumber_tests.rs
index 3dbe1be28518ad710b6eefeb6742457e32c4af11..081d45c12945eda6322b7ae5f7b5b6b141f9e7ff 100644
--- a/end2end-tests/tests/cucumber_tests.rs
+++ b/end2end-tests/tests/cucumber_tests.rs
@@ -669,12 +669,18 @@ async fn main() {
         .run(features_path)
         .await;
 
+    if summarize.failed_steps() > 0 {
+        panic!("Could not run tests correctly (failed steps)");
+    }
     if summarize.hook_errors() > 0 {
         panic!("Could not run tests correctly (hook errors)");
     }
     if summarize.parsing_errors() > 0 {
         panic!("Could not run tests correctly (parsing errors)");
     }
+    if summarize.execution_has_failed() {
+        panic!("Could not run tests correctly (execution has failed)");
+    }
 }
 
 fn genesis_conf_name(feature_tags: &[String], scenario_tags: &[String]) -> String {