diff --git a/test/metabase/test/async.clj b/test/metabase/test/async.clj
index e0b291b3709c023d546bfd16139c774786fba746..81ee5533aff6659e0e6b704e53129e220471262d 100644
--- a/test/metabase/test/async.clj
+++ b/test/metabase/test/async.clj
@@ -32,5 +32,10 @@
 (defn result!
   "Blocking version of async/result."
   [job-id]
-  (while-with-timeout (not (@job-done? job-id)))
+  (while-with-timeout (or (not (@job-done? job-id))
+                          (-> job-id
+                              ComputationJob
+                              async/result
+                              (find :result)
+                              nil?)))
   (async/result (ComputationJob job-id)))