diff --git a/src/assistant/help/qhelpcontentwidget.cpp b/src/assistant/help/qhelpcontentwidget.cpp
index 76dc2fbe1cb8872f2ab3a6992d3100939fec47ab..75f9f7e7e22b9333e5f592be42c03c5d67526c0a 100644
--- a/src/assistant/help/qhelpcontentwidget.cpp
+++ b/src/assistant/help/qhelpcontentwidget.cpp
@@ -363,15 +363,18 @@ QHelpContentModel::~QHelpContentModel()
 
 void QHelpContentModel::invalidateContents(bool onShutDown)
 {
-    if (onShutDown)
+    if (onShutDown) {
         disconnect(this, SLOT(insertContents()));
+    } else {
+        beginResetModel();
+    }
     d->qhelpContentProvider->stopCollecting();
     if (d->rootItem) {
         delete d->rootItem;
         d->rootItem = 0;
     }
     if (!onShutDown)
-        reset();
+        endResetModel();
 }
 
 /*!
@@ -399,7 +402,6 @@ void QHelpContentModel::insertContents()
     beginInsertRows(QModelIndex(), 0, count > 0 ? count : 0);
     d->rootItem = d->qhelpContentProvider->rootItem();
     endInsertRows();
-    reset();
     emit contentsCreated();
 }
 
diff --git a/src/assistant/help/qhelpsearchquerywidget.cpp b/src/assistant/help/qhelpsearchquerywidget.cpp
index 077a39191e819026b54e213395cfc9f08d2260a0..875b55133cec1f9b1a363a8efe3870e7b44c9869 100644
--- a/src/assistant/help/qhelpsearchquerywidget.cpp
+++ b/src/assistant/help/qhelpsearchquerywidget.cpp
@@ -89,8 +89,9 @@ private:
         void addTerm(const QString &term)
         {
             if (!termList.contains(term)) {
+                beginResetModel();
                 termList.append(term);
-                reset();
+                endResetModel();
             }
         }