diff --git a/callwidget.cpp b/callwidget.cpp
index 9c63093aa9bc9e19c933b788c747302a74d5cd2b..effcfaa01807832da306425d22f134773854809d 100644
--- a/callwidget.cpp
+++ b/callwidget.cpp
@@ -135,8 +135,11 @@ CallWidget::CallWidget(QWidget* parent) :
                         auto idx = selected.indexes().first();
                         auto realIdx = RecentModel::instance().peopleProxy()->mapFromSource(idx);
                         ui->smartList->selectionModel()->setCurrentIndex(realIdx, QItemSelectionModel::ClearAndSelect);
-                    } else
+                    } else {
+                        RecentModel::instance().selectionModel()->clearCurrentIndex();
                         ui->smartList->clearSelection();
+                        ui->smartList->selectionModel()->clearCurrentIndex();
+                    }
                 });
 
         connect(&NameDirectory::instance(), SIGNAL(registeredNameFound(Account*,NameDirectory::LookupStatus,const QString&,const QString&)),
@@ -150,7 +153,10 @@ CallWidget::CallWidget(QWidget* parent) :
         connect(ui->sendContactRequestWidget, &SendContactRequestWidget::sendCRclicked, [=]{slidePage(ui->messagingPage);});
 
         connect(ui->contactRequestWidget, &ContactRequestWidget::choiceMade, [this]() {
-            slidePage(ui->welcomePage);
+            if (getSelectedAccount()->pendingContactRequestModel()->rowCount() == 0)
+                ui->mainTabMenu->setCurrentWidget(ui->mainTabMenuPage1);
+            else
+                ui->contactRequestList->selectionModel()->clear();
         });
 
         connect(AvailableAccountModel::instance().selectionModel(), &QItemSelectionModel::currentChanged,
@@ -538,8 +544,14 @@ void
 CallWidget::smartListCurrentChanged(const QModelIndex &currentIdx, const QModelIndex &previousIdx)
 {
     Q_UNUSED(previousIdx);
-    if (not currentIdx.isValid())
+    if (not currentIdx.isValid()) {
+        auto widget = ui->stackedWidget->currentWidget();
+        if (widget == ui->messagingPage || widget == ui->videoPage)
+            slidePage(ui->welcomePage);
+        if(actualCall_)
+            setActualCall(nullptr);
         return;
+    }
 
     //catch call of current index
     auto currentIdxCall = RecentModel::instance().getActiveCall(currentIdx);
@@ -587,8 +599,14 @@ CallWidget::contactReqListCurrentChanged(const QModelIndex &currentIdx, const QM
 {
     Q_UNUSED(previousIdx)
 
-    ui->contactRequestWidget->setCurrentContactRequest(currentIdx);
-    ui->stackedWidget->setCurrentWidget(ui->contactRequestPage);
+    if (currentIdx.isValid()) {
+        ui->contactRequestWidget->setCurrentContactRequest(currentIdx);
+        ui->stackedWidget->setCurrentWidget(ui->contactRequestPage);
+    } else {
+        ui->contactRequestWidget->setCurrentContactRequest(QModelIndex());
+        if (ui->stackedWidget->currentWidget() == ui->contactRequestPage)
+            slidePage(ui->welcomePage);
+    }
 }
 
 void
@@ -713,11 +731,11 @@ CallWidget::selectedAccountChanged(const QModelIndex &current, const QModelIndex
 
         // Then, we update the pending CR list with those from the newly selected account
         if (disconnect(crListSelectionConnection_)) {
+            ui->contactRequestList->selectionModel()->clear();
             // The selection model must be deleted by the application (see QT doc).
             QItemSelectionModel* sMod = ui->contactRequestList->selectionModel();
             delete sMod;
             RecentModel::instance().selectionModel()->clear();
-            slidePage(ui->welcomePage);
         }
 
         ui->contactRequestList->setItemModel(ac->pendingContactRequestModel());
@@ -839,7 +857,6 @@ void
 CallWidget::backToWelcomePage()
 {
     RecentModel::instance().selectionModel()->clear();
-    slidePage(ui->welcomePage);
     disconnect(imConnection_);
 }
 
@@ -931,14 +948,13 @@ CallWidget::on_sendContactRequestPageButton_clicked()
 void
 CallWidget::on_sendCRBackButton_clicked()
 {
-    slidePage(ui->messagingPage);
+    ui->stackedWidget->setCurrentWidget(ui->messagingPage);
 }
 
 void
 CallWidget::on_pendingCRBackButton_clicked()
 {
     ui->contactRequestList->selectionModel()->clear();
-    slidePage(ui->welcomePage);
 }
 
 Account*
@@ -951,3 +967,15 @@ CallWidget::getSelectedAccount()
     }
     return nullptr;
 }
+
+void CallWidget::on_mainTabMenu_currentChanged(int index)
+{
+    Q_UNUSED(index)
+
+    auto current = ui->mainTabMenu->currentWidget();
+
+    if(current == ui->mainTabMenuPage1)
+        ui->contactRequestList->selectionModel()->clear();
+    else if (current == ui->mainTabMenuPage2)
+        RecentModel::instance().selectionModel()->clear();
+}
diff --git a/callwidget.h b/callwidget.h
index 3aa7b517f3f9f14e69cefdf5cde051db9b3496ca..087fb763baf4d5a187561e06659220cb56489459 100644
--- a/callwidget.h
+++ b/callwidget.h
@@ -83,6 +83,7 @@ private slots:
     void on_qrButton_toggled(bool checked);
     void on_shareButton_clicked();
     void on_pendingCRBackButton_clicked();
+    void on_mainTabMenu_currentChanged(int index);
 
 private slots:
     void callIncoming(Call* call);
diff --git a/callwidget.ui b/callwidget.ui
index 3e66272b65df2294d884fe5d8c609b38691882c3..35597785fce35c4e47787c522529bf3d33ba545f 100644
--- a/callwidget.ui
+++ b/callwidget.ui
@@ -306,8 +306,21 @@
                <property name="currentIndex">
                 <number>0</number>
                </property>
-               <widget class="QWidget" name="mainTabMenuPage1_2">
+               <property name="iconSize">
+                <size>
+                 <width>24</width>
+                 <height>24</height>
+                </size>
+               </property>
+               <widget class="QWidget" name="mainTabMenuPage1">
+                <attribute name="icon">
+                 <iconset resource="ressources.qrc">
+                  <normaloff>:/images/icons/ic_chat_black_24dp_2x.png</normaloff>:/images/icons/ic_chat_black_24dp_2x.png</iconset>
+                </attribute>
                 <attribute name="title">
+                 <string/>
+                </attribute>
+                <attribute name="toolTip">
                  <string>Conversations</string>
                 </attribute>
                 <layout class="QVBoxLayout" name="verticalLayout_6">
@@ -351,8 +364,15 @@
                 </layout>
                </widget>
                <widget class="QWidget" name="mainTabMenuPage2">
+                <attribute name="icon">
+                 <iconset resource="ressources.qrc">
+                  <normaloff>:/images/icons/ic_person_add_black_24dp_2x.png</normaloff>:/images/icons/ic_person_add_black_24dp_2x.png</iconset>
+                </attribute>
                 <attribute name="title">
-                 <string>Contact Requests</string>
+                 <string/>
+                </attribute>
+                <attribute name="toolTip">
+                 <string>Contact requests</string>
                 </attribute>
                 <layout class="QVBoxLayout" name="verticalLayout_7">
                  <property name="spacing">
diff --git a/images/icons/ic_chat_black_24dp_2x.png b/images/icons/ic_chat_black_24dp_2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..e9e92e5f809cd0a62b9a5867d57319d1a86fe31e
Binary files /dev/null and b/images/icons/ic_chat_black_24dp_2x.png differ
diff --git a/images/icons/ic_person_add_black_24dp_2x.png b/images/icons/ic_person_add_black_24dp_2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..f3e8931b62c359a28c6cdd1151f3c1b49c5d9889
Binary files /dev/null and b/images/icons/ic_person_add_black_24dp_2x.png differ
diff --git a/ressources.qrc b/ressources.qrc
index 6b259abf7a4da9a6213627c7feb0854138f9b594..35ae24cff158e077359a6a55be3f1eba70c890cb 100644
--- a/ressources.qrc
+++ b/ressources.qrc
@@ -41,5 +41,7 @@
         <file>images/icons/ic_share_black_48dp_2x.png</file>
         <file>images/loading.gif</file>
         <file>images/FontAwesome.otf</file>
+        <file>images/icons/ic_chat_black_24dp_2x.png</file>
+        <file>images/icons/ic_person_add_black_24dp_2x.png</file>
     </qresource>
 </RCC>
diff --git a/stylesheet.css b/stylesheet.css
index 8838f6101307a7a69a2d0f95bdbf145bbbca733d..474f0d4dac14b1ca394a867b33b2a1b24f36bd53 100644
--- a/stylesheet.css
+++ b/stylesheet.css
@@ -460,7 +460,6 @@ QPushButton#quickBanCRBtn:hover{
 }
 
 QTabBar::tab{
-    background: transparent;
     color: rgb(77, 77, 77);
     border-radius: 0px;
     border-style: solid;
@@ -475,9 +474,22 @@ QTabBar::tab{
     height: 20px;
 }
 
+QTabWidget#mainTabMenu QTabBar::tab {
+    height: 24px;
+    width: auto;
+    padding-left: 14px;
+    margin-left:auto;
+    margin-right:auto;
+}
+
+QTabWidget#mainTabMenu QTabBar::tab:hover {
+    background-color: rgb(242, 242, 242);
+}
+
 QTabWidget::tab-bar{
     alignment: center;
 }
+
 QTabBar QToolButton{
     height: 9;
     width : 9;