diff --git a/src/plugins/coreplugin/progressmanager/futureprogress.cpp b/src/plugins/coreplugin/progressmanager/futureprogress.cpp
index aaa56fcb0a1c739c9e0409e6d229a69eed4ef169..f2aed6c6cb4efd98f3d3bb31574550c832a35697 100644
--- a/src/plugins/coreplugin/progressmanager/futureprogress.cpp
+++ b/src/plugins/coreplugin/progressmanager/futureprogress.cpp
@@ -197,6 +197,13 @@ bool FutureProgress::eventFilter(QObject *, QEvent *e)
 void FutureProgress::setFinished()
 {
     updateToolTip(m_watcher.future().progressText());
+
+    // Special case for concurrent jobs that don't use QFutureInterface to report progress
+    if (m_watcher.progressMinimum() == 0 && m_watcher.progressMaximum() == 0) {
+        m_progress->setRange(0, 1);
+        m_progress->setValue(1);
+    }
+
     if (m_watcher.future().isCanceled()) {
         m_progress->setError(true);
     } else {