diff --git a/fsl/utils/idle.py b/fsl/utils/idle.py
index c1513708ebb401227dd1d0adb7cf9e0efd067631..f2fc9d0d2fcba36b3e0851b802d6b498ae908d67 100644
--- a/fsl/utils/idle.py
+++ b/fsl/utils/idle.py
@@ -86,7 +86,7 @@ import atexit
 import logging
 import functools
 import threading
-import collections
+from   collections import abc
 
 try:                import queue
 except ImportError: import Queue as queue
@@ -610,7 +610,7 @@ def wait(threads, task, *args, **kwargs):
 
     direct = kwargs.pop('wait_direct', False)
 
-    if not isinstance(threads, collections.Sequence):
+    if not isinstance(threads, abc.Sequence):
         threads = [threads]
 
     haveWX = fslplatform.haveGui