Revert da29a94367b2
diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py
index 45c6d1b..9bfc1cf 100644
--- a/Lib/asyncio/tasks.py
+++ b/Lib/asyncio/tasks.py
@@ -249,8 +249,9 @@
                     result._blocking = False
                     result.add_done_callback(self._wakeup)
                     self._fut_waiter = result
-                    if self._must_cancel and self._fut_waiter.cancel():
-                        self._must_cancel = False
+                    if self._must_cancel:
+                        if self._fut_waiter.cancel():
+                            self._must_cancel = False
                 else:
                     self._loop.call_soon(
                         self._step, None,