diff --git a/learner1D.py b/learner1D.py
index d09e05070835ebe2faab1c58c2e5353ae3b6801c..63466aaef0967232f4714b0ab9e34228acaf0be8 100644
--- a/learner1D.py
+++ b/learner1D.py
@@ -199,7 +199,8 @@ class Learner1D(object):
 async def any_complete(futures):
     total = tornado.concurrent.Future()
     for f in futures:
-        f.add_done_callback(total.set_result)
+        f.add_done_callback(lambda f: total.set_result(None)
+                            if not total.done() else None)
     await total
     return [f for f in futures if f.done()]