diff --git a/src/libtomahawk/pipeline.cpp b/src/libtomahawk/pipeline.cpp
index fc8402557..3f02d9a49 100644
--- a/src/libtomahawk/pipeline.cpp
+++ b/src/libtomahawk/pipeline.cpp
@@ -191,6 +191,8 @@ Pipeline::reportResults( QID qid, const QList< result_ptr >& results )
             q->onResolvingFinished();
 
             setQIDState( q, 0 );
+            if ( !m_queries_temporary.contains( q ) )
+                m_qids.remove( q->id() );
             if ( m_qidsTimeout.contains( q->id() ) )
                 m_qidsTimeout.remove( q->id() );
 
@@ -204,6 +206,8 @@ Pipeline::reportResults( QID qid, const QList< result_ptr >& results )
         if ( !q->solved() || q->isFullTextQuery() )
             q->onResolvingFinished();
 
+        if ( !m_queries_temporary.contains( q ) )
+            m_qids.remove( q->id() );
         if ( m_qidsTimeout.contains( q->id() ) )
             m_qidsTimeout.remove( q->id() );