diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py
index b3d6e03..2230dc2 100644
--- a/Lib/asyncio/base_events.py
+++ b/Lib/asyncio/base_events.py
@@ -227,7 +227,14 @@
         Return the Future's result, or raise its exception.
         """
         self._check_closed()
+
+        new_task = not isinstance(future, futures.Future)
         future = tasks.async(future, loop=self)
+        if new_task:
+            # An exception is raised if the future didn't complete, so there
+            # is no need to log the "destroy pending task" message
+            future._log_destroy_pending = False
+
         future.add_done_callback(_raise_stop_error)
         self.run_forever()
         future.remove_done_callback(_raise_stop_error)
diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py
index 5b8f3eb..e9adf1d 100644
--- a/Lib/asyncio/tasks.py
+++ b/Lib/asyncio/tasks.py
@@ -75,13 +75,16 @@
         self._must_cancel = False
         self._loop.call_soon(self._step)
         self.__class__._all_tasks.add(self)
+        # If False, don't log a message if the task is destroyed whereas its
+        # status is still pending
+        self._log_destroy_pending = True
 
     # On Python 3.3 or older, objects with a destructor part of a reference
     # cycle are never destroyed. It's not more the case on Python 3.4 thanks to
     # the PEP 442.
     if _PY34:
         def __del__(self):
-            if self._state == futures._PENDING:
+            if self._state == futures._PENDING and self._log_destroy_pending:
                 context = {
                     'task': self,
                     'message': 'Task was destroyed but it is pending!',
diff --git a/Lib/asyncio/test_utils.py b/Lib/asyncio/test_utils.py
index 94054e7..ef3be23 100644
--- a/Lib/asyncio/test_utils.py
+++ b/Lib/asyncio/test_utils.py
@@ -49,6 +49,9 @@
         pass
     gen = once()
     t = tasks.Task(gen, loop=loop)
+    # Don't log a warning if the task is not done after run_until_complete().
+    # It occurs if the loop is stopped or if a task raises a BaseException.
+    t._log_destroy_pending = False
     try:
         loop.run_until_complete(t)
     finally:
