diff --git a/src/api/conversationmodel.h b/src/api/conversationmodel.h
index 7a85f8b679244044fc553b97361b2a0caa5b7d0b..8b2857eea8461291b4fcdfc7362c516adc1b9b11 100644
--- a/src/api/conversationmodel.h
+++ b/src/api/conversationmodel.h
@@ -78,7 +78,7 @@ public:
      * Get a custom filtered set of conversations
      * @return conversations filtered
      */
-    const ConversationQueue& getFilteredConversations(const profile::Type& filter = profile::Type::INVALID) const;
+    const ConversationQueue& getFilteredConversations(const profile::Type& filter = profile::Type::INVALID, bool forceUpdate = false) const;
     /**
      * Get the conversation at row in the filtered conversations
      * @param  row
diff --git a/src/conversationmodel.cpp b/src/conversationmodel.cpp
index 500c0daeec30e3f4eb552d5808872a0438e6f880..20e898cd89d26eededbbd625eacafa5598a4a5ed 100644
--- a/src/conversationmodel.cpp
+++ b/src/conversationmodel.cpp
@@ -315,9 +315,9 @@ ConversationModel::allFilteredConversations() const
 }
 
 const ConversationModel::ConversationQueue&
-ConversationModel::getFilteredConversations(const profile::Type& filter) const
+ConversationModel::getFilteredConversations(const profile::Type& filter, bool forceUpdate) const
 {
-    if (pimpl_->customTypeFilter == filter && !pimpl_->dirtyConversations.second)
+    if (pimpl_->customTypeFilter == filter && !pimpl_->dirtyConversations.second && !forceUpdate)
         return pimpl_->customFilteredConversations;
 
     pimpl_->customTypeFilter = filter;