diff --git a/src/recentmodel.cpp b/src/recentmodel.cpp
index 8a5bc26984728057f14a7c0ac9f52ccba00887cc..6334908b7a2bad511f960b1c1cc4315863588624 100644
--- a/src/recentmodel.cpp
+++ b/src/recentmodel.cpp
@@ -1057,9 +1057,12 @@ RecentModelPrivate::slotCurrentCallChanged(const QModelIndex &current, const QMo
             q_ptr->selectionModel()->setCurrentIndex(callIdx, QItemSelectionModel::ClearAndSelect);
         else
             q_ptr->selectionModel()->setCurrentIndex(callIdx.parent(), QItemSelectionModel::ClearAndSelect);
-    } else {
-        q_ptr->selectionModel()->clearCurrentIndex();
     }
+    /* do not update the selection in the RecentModel if no calls selected in the CallModel;
+     * eg: if a Call was selected in the RecentModel, when its removed, the seleciton will
+     *     change automatically, so no action is needed;
+     *     if a Person was selected and the Call is over, we still want the Person to be selected;
+     */
 }
 
 ///Filter out every data relevant to a person