diff --git a/devine/core/downloaders/aria2c.py b/devine/core/downloaders/aria2c.py
index 48254dc..a6523ba 100644
--- a/devine/core/downloaders/aria2c.py
+++ b/devine/core/downloaders/aria2c.py
@@ -96,41 +96,42 @@ def aria2c(
         )
         p._stdin_write(uri)  # noqa
 
-        is_dl_summary = False
-        aria_log_buffer = ""
-        for line in iter(p.stdout.readline, ""):
-            line = line.strip()
-            if line:
-                if line.startswith("Download Results"):
-                    # we know it's 100% downloaded, but let's use the avg dl speed value
-                    is_dl_summary = True
-                elif line.startswith("[") and line.endswith("]"):
-                    if progress and "%" in line:
-                        # id, dledMiB/totalMiB(x%), CN:xx, DL:xxMiB, ETA:Xs
-                        # eta may not always be available
-                        data_parts = line[1:-1].split()
-                        perc_parts = data_parts[1].split("(")
-                        if len(perc_parts) == 2:
-                            # might otherwise be e.g., 0B/0B, with no % symbol provided
-                            progress(
-                                total=100,
-                                completed=int(perc_parts[1][:-2]),
-                                downloaded=f"{data_parts[3].split(':')[1]}/s"
-                            )
-                elif is_dl_summary and "OK" in line and "|" in line:
-                    gid, status, avg_speed, path_or_uri = line.split("|")
-                    progress(total=100, completed=100, downloaded=avg_speed.strip())
-                elif not is_dl_summary:
-                    aria_log_buffer += f"{line.strip()}\n"
+        if p.stdout:
+            is_dl_summary = False
+            aria_log_buffer = ""
+            for line in iter(p.stdout.readline, ""):
+                line = line.strip()
+                if line:
+                    if line.startswith("Download Results"):
+                        # we know it's 100% downloaded, but let's use the avg dl speed value
+                        is_dl_summary = True
+                    elif line.startswith("[") and line.endswith("]"):
+                        if progress and "%" in line:
+                            # id, dledMiB/totalMiB(x%), CN:xx, DL:xxMiB, ETA:Xs
+                            # eta may not always be available
+                            data_parts = line[1:-1].split()
+                            perc_parts = data_parts[1].split("(")
+                            if len(perc_parts) == 2:
+                                # might otherwise be e.g., 0B/0B, with no % symbol provided
+                                progress(
+                                    total=100,
+                                    completed=int(perc_parts[1][:-2]),
+                                    downloaded=f"{data_parts[3].split(':')[1]}/s"
+                                )
+                    elif is_dl_summary and "OK" in line and "|" in line:
+                        gid, status, avg_speed, path_or_uri = line.split("|")
+                        progress(total=100, completed=100, downloaded=avg_speed.strip())
+                    elif not is_dl_summary:
+                        aria_log_buffer += f"{line.strip()}\n"
 
-        if aria_log_buffer:
-            # wrap to console width - padding - '[Aria2c]: '
-            aria_log_buffer = "\n          ".join(textwrap.wrap(
-                aria_log_buffer.rstrip(),
-                width=console.width - 20,
-                initial_indent=""
-            ))
-            console.log(Text.from_ansi("\n[Aria2c]: " + aria_log_buffer))
+            if aria_log_buffer:
+                # wrap to console width - padding - '[Aria2c]: '
+                aria_log_buffer = "\n          ".join(textwrap.wrap(
+                    aria_log_buffer.rstrip(),
+                    width=console.width - 20,
+                    initial_indent=""
+                ))
+                console.log(Text.from_ansi("\n[Aria2c]: " + aria_log_buffer))
 
         p.wait()