diff --git a/src/core/download_manager_delegate_qt.cpp b/src/core/download_manager_delegate_qt.cpp
index c01dcf63de5e04ab443cb8838fb343753a3889d3..e9af98fd8b400cf1937bcd45df9f2dd7fa7bd94b 100644
--- a/src/core/download_manager_delegate_qt.cpp
+++ b/src/core/download_manager_delegate_qt.cpp
@@ -40,6 +40,7 @@
 #include "content/public/browser/download_item.h"
 #include "content/public/browser/save_page_type.h"
 #include "content/public/browser/web_contents.h"
+#include "net/http/http_content_disposition.h"
 
 #include <QDir>
 #include <QFile>
@@ -103,6 +104,9 @@ bool DownloadManagerDelegateQt::DetermineDownloadTarget(content::DownloadItem* i
 
     std::string suggestedFilename = item->GetSuggestedFilename();
 
+    if (suggestedFilename.empty())
+        suggestedFilename = net::HttpContentDisposition(item->GetContentDisposition(), std::string()).filename();
+
     if (suggestedFilename.empty())
         suggestedFilename = item->GetTargetFilePath().AsUTF8Unsafe();