diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4e5a78534..9c2cec3f5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,7 +13,7 @@ at anytime.
   *
 
 ### Fixed
-  *
+  * Fixed a scenario where stopping downloads raises `NoneType object has no attribute finished_deferred`.
   *
 
 ### Deprecated
diff --git a/lbrynet/core/client/ClientProtocol.py b/lbrynet/core/client/ClientProtocol.py
index 64aab1e28..fca7cb38d 100644
--- a/lbrynet/core/client/ClientProtocol.py
+++ b/lbrynet/core/client/ClientProtocol.py
@@ -116,8 +116,8 @@ class ClientProtocol(Protocol, TimeoutMixin):
             d.errback(err)
             ds.append(d)
         if self._blob_download_request is not None:
-            self._blob_download_request.cancel(err)
             ds.append(self._blob_download_request.finished_deferred)
+            self._blob_download_request.cancel(err)
             self._blob_download_request = None
         self._downloading_blob = False
         return defer.DeferredList(ds)