diff --git a/mise.toml b/mise.toml
index 8f83820100ba959765873168676e2a9df2cef5ca..f706fecce93a976f00ad65f5b8cfed379c48f1a5 100644
--- a/mise.toml
+++ b/mise.toml
@@ -40,7 +40,7 @@ anvil = "nightly-59f354c179f4e7f6d7292acb3d068815c79286d1"
 # actually be managed by mise (yet). Make sure that anything you put in here is
 # also found inside of disabled_tools or mise will try to install it.
 asterisc = "1.2.0"
-kontrol = "1.0.53"
+kontrol = "1.0.90"
 binary_signer = "1.0.4"
 
 [alias]
diff --git a/packages/contracts-bedrock/test/kontrol/scripts/run-kontrol.sh b/packages/contracts-bedrock/test/kontrol/scripts/run-kontrol.sh
index a65d9b9924483e0ce214ca5e54e749acdf5116a4..465b684784461d1ef99c71e62b2aeed8dd67192c 100755
--- a/packages/contracts-bedrock/test/kontrol/scripts/run-kontrol.sh
+++ b/packages/contracts-bedrock/test/kontrol/scripts/run-kontrol.sh
@@ -183,29 +183,23 @@ trap clean_docker EXIT
 conditionally_start_docker
 
 results=()
+
 # Run kontrol_build and store the result
 kontrol_build
 results[0]=$?
+if [ "${results[0]}" -ne 0 ]; then
+  echo "Kontrol Build Failed"
+  exit 1
+fi
 
 # Run kontrol_prove and store the result
 kontrol_prove
 results[1]=$?
-
-get_log_results
-
-# Now you can use ${results[0]} and ${results[1]}
-# to check the results of kontrol_build and kontrol_prove, respectively
-if [ "${results[0]}" -ne 0 ] && [ "${results[1]}" -ne 0 ]; then
-  echo "Kontrol Build and Prove Failed"
-  exit 1
-elif [ "${results[0]}" -ne 0 ]; then
-  echo "Kontrol Build Failed"
-  exit 1
-elif [ "${results[1]}" -ne 0 ]; then
+if [ "${results[1]}" -ne 0 ]; then
   echo "Kontrol Prove Failed"
   exit 2
-else
-  echo "Kontrol Passed"
 fi
 
+get_log_results
+echo "Kontrol Passed"
 notif "DONE"