diff --git a/ffs-updatetest.py b/ffs-updatetest.py
index 48e5a39d67c85e659b000708fb338028cab00d39..3c3481a34c3310d380bca804c88b4794f002d780 100755
--- a/ffs-updatetest.py
+++ b/ffs-updatetest.py
@@ -139,9 +139,14 @@ with create_snapshot_context() as snapshot:
             logging.error("Not running the expected version, aborting")
             sys.exit(1)
         wait_for_gw_connection()
-        run_autoupdate()
-        if not assert_release(args.after_version):
-            logging.error("Not running the expected version after update, aborting")
+        try:
+            run_autoupdate()
+            wait_for_gw_connection()
+            if not assert_release(args.after_version):
+                logging.error("Not running the expected version after update, aborting")
+                raise ValueError("Not running the expected version after update, aborting")
+        except:
+            logging.error("Something seems to have failed, saving state and exiting.")
             create_snapshot(prefix="test_fail_{}".format(i))
             sys.exit(1)
         restore_snapshot(snapshot)