diff --git a/tests/test_extra.py b/tests/test_extra.py
index <HASH>..<HASH> 100644
--- a/tests/test_extra.py
+++ b/tests/test_extra.py
@@ -637,7 +637,8 @@ def test_promises_with_only_then():
     promise3 = promise1.then(lambda x: None)
     context["promise1_reject"](error)
 
-    promise1._wait()
+    promise2._wait()
+    promise3._wait()
     assert promise2.reason == error
     assert promise3.reason == error
 
diff --git a/tests/test_issues.py b/tests/test_issues.py
index <HASH>..<HASH> 100644
--- a/tests/test_issues.py
+++ b/tests/test_issues.py
@@ -61,9 +61,11 @@ def test_issue_26():
     context["promise1_reject"](RuntimeError("Ooops!"))
 
     promise2 = Promise(lambda resolve, reject: context.update({"promise2_resolve": resolve}))
-    promise2.then(lambda x: context.update({"success": True}))
+    promise3 = promise2.then(lambda x: context.update({"success": True}))
     context["promise2_resolve"](None)
 
+    # We wait so it works in asynchronous envs
+    promise3._wait(timeout=.1)
     assert context["success"]
Fixed tests in async environments