diff --git a/src/numbercompletionmodel.cpp b/src/numbercompletionmodel.cpp
index 3b1704049f7afc83af02809e5443c75567757739..677311d7ec3ebcb08c0945381c2909bf91a58c2a 100644
--- a/src/numbercompletionmodel.cpp
+++ b/src/numbercompletionmodel.cpp
@@ -72,6 +72,7 @@ public:
    Call*                         m_pCall                 ;
    bool                          m_Enabled               ;
    bool                          m_UseUnregisteredAccount;
+   bool                          m_DisplayMostUsedNumbers;
 
    QHash<Account*,TemporaryContactMethod*> m_hSipIaxTemporaryNumbers;
    QHash<Account*,TemporaryContactMethod*> m_hRingTemporaryNumbers;
@@ -88,7 +89,7 @@ private:
 
 
 NumberCompletionModelPrivate::NumberCompletionModelPrivate(NumberCompletionModel* parent) : QObject(parent), q_ptr(parent),
-m_pCall(nullptr),m_Enabled(false),m_UseUnregisteredAccount(true), m_Prefix(QString())
+m_pCall(nullptr),m_Enabled(false),m_UseUnregisteredAccount(true), m_Prefix(QString()),m_DisplayMostUsedNumbers(false)
 {
    //Create the temporary number list
    bool     hasNonIp2Ip = false;
@@ -163,7 +164,7 @@ QVariant NumberCompletionModel::data(const QModelIndex& index, int role ) const
    const ContactMethod* n = i.value();
    const int weight     = i.key  ();
 
-   bool needAcc = (role>=100 || role == Qt::UserRole) && n->account() && n->account() != AvailableAccountModel::currentDefaultAccount()
+   bool needAcc = (role>=100 || role == Qt::UserRole) && n->account() /*&& n->account() != AvailableAccountModel::currentDefaultAccount()*/
                   && n->account()->alias() != DRing::Account::ProtocolNames::IP2IP;
 
    switch (static_cast<NumberCompletionModelPrivate::Columns>(index.column())) {
@@ -280,7 +281,7 @@ void NumberCompletionModel::setCall(Call* call)
 void NumberCompletionModelPrivate::setPrefix(const QString& str)
 {
    m_Prefix = str;
-   const bool e = ((m_pCall && m_pCall->lifeCycleState() == Call::LifeCycleState::CREATION) || (!m_pCall)) && (!str.isEmpty());
+   const bool e = ((m_pCall && m_pCall->lifeCycleState() == Call::LifeCycleState::CREATION) || (!m_pCall)) && ((m_DisplayMostUsedNumbers || !str.isEmpty()));
 
    if (m_Enabled != e) {
       m_Enabled = e;
@@ -364,6 +365,17 @@ void NumberCompletionModelPrivate::updateModel()
          }
       }
    }
+   else if (m_DisplayMostUsedNumbers) {
+      //If enabled, display the most probable entries
+      const QVector<ContactMethod*> cl = PhoneDirectoryModel::instance()->getNumbersByPopularity();
+
+      for (int i=0;i<((cl.size()>=10)?10:cl.size());i++) {
+         ContactMethod* n = cl[i];
+         q_ptr->beginInsertRows(QModelIndex(), m_hNumbers.size(), m_hNumbers.size());
+         m_hNumbers.insert(getWeight(n),n);
+         q_ptr->endInsertRows();
+      }
+   }
 }
 
 void NumberCompletionModelPrivate::getRange(QMap<QString,NumberWrapper*> map, const QString& prefix, QSet<ContactMethod*>& set) const
@@ -494,6 +506,17 @@ bool NumberCompletionModel::isUsingUnregisteredAccounts()
    return d_ptr->m_UseUnregisteredAccount;
 }
 
+
+void NumberCompletionModel::setDisplayMostUsedNumbers(bool value)
+{
+   d_ptr->m_DisplayMostUsedNumbers = value;
+}
+
+bool NumberCompletionModel::displayMostUsedNumbers() const
+{
+   return d_ptr->m_DisplayMostUsedNumbers;
+}
+
 bool NumberCompletionModelPrivate::accountAdded(Account* a)
 {
    bool hasNonIp2Ip = false;
diff --git a/src/numbercompletionmodel.h b/src/numbercompletionmodel.h
index b7821032d31848995eae07699285565bbae45f50..810e2d9fbb656c0dd40b2caa1fe98d5ee0df745d 100644
--- a/src/numbercompletionmodel.h
+++ b/src/numbercompletionmodel.h
@@ -36,6 +36,7 @@ public:
 
    //Properties
    Q_PROPERTY(QString prefix READ prefix)
+   Q_PROPERTY(bool displayMostUsedNumbers READ displayMostUsedNumbers WRITE setDisplayMostUsedNumbers)
 
    enum Role {
       ALTERNATE_ACCOUNT= 100,
@@ -59,12 +60,14 @@ public:
    //Setters
    void setCall(Call* call);
    void setUseUnregisteredAccounts(bool value);
+   void setDisplayMostUsedNumbers(bool value);
 
    //Getters
    Call* call() const;
    ContactMethod* number(const QModelIndex& idx) const;
    bool isUsingUnregisteredAccounts();
    QString prefix() const;
+   bool displayMostUsedNumbers() const;
 
 private:
    NumberCompletionModelPrivate* d_ptr;