diff --git a/packages/flamenco-worker-python/flamenco_worker/cli.py b/packages/flamenco-worker-python/flamenco_worker/cli.py
index 46544be0dfe4361cf722f643cb195f5001d58434..fbc80bb95baf5d6fe21e0028a4c1b7a5b14d3637 100644
--- a/packages/flamenco-worker-python/flamenco_worker/cli.py
+++ b/packages/flamenco-worker-python/flamenco_worker/cli.py
@@ -24,6 +24,10 @@ def main():
     log = logging.getLogger(__name__)
     log.debug('Starting')
 
+    # Patch AsyncIO
+    from . import patch_asyncio
+    patch_asyncio.patch_asyncio()
+
     # Construct the AsyncIO loop
     loop = construct_asyncio_loop()
     if args.verbose:
diff --git a/packages/flamenco-worker-python/flamenco_worker/patch_asyncio.py b/packages/flamenco-worker-python/flamenco_worker/patch_asyncio.py
new file mode 100644
index 0000000000000000000000000000000000000000..f4843c6cbc46c9f40b9f39f1d681abe5302e0d4b
--- /dev/null
+++ b/packages/flamenco-worker-python/flamenco_worker/patch_asyncio.py
@@ -0,0 +1,29 @@
+"""
+Patches a safer version of resume_reading into the asyncio.unix_events._UnixReadPipeTransport class.
+
+This prevents an error at the end of a subprocess execution:
+
+    File "/usr/lib/python3.x/asyncio/unix_events.py", line 364, in resume_reading
+       self._loop.add_reader(self._fileno, self._read_ready)
+    AttributeError: 'NoneType' object has no attribute 'add_reader'
+
+"""
+
+import asyncio.unix_events as ue
+
+
+def patch_asyncio():
+    import logging
+
+    log = logging.getLogger(__name__)
+    log.debug('Patching ue._UnixReadPipeTransport.resume_reading')
+
+    orig_resume_reading = ue._UnixReadPipeTransport.resume_reading
+
+    def resume_reading(self, *args, **kwargs):
+        if not self._loop:
+            return
+
+        return orig_resume_reading(*args, **kwargs)
+
+    ue._UnixReadPipeTransport.resume_reading = resume_reading