diff --git a/sflphone_kde/sflphone_kdeview.cpp b/sflphone_kde/sflphone_kdeview.cpp
index f741ca19428b2fedc6b1a979d264e33c97a36bc1..7518cb315524842d1b1fecff08b81958c74cce70 100644
--- a/sflphone_kde/sflphone_kdeview.cpp
+++ b/sflphone_kde/sflphone_kdeview.cpp
@@ -842,6 +842,32 @@ void sflphone_kdeView::on_listWidget_callList_itemDoubleClicked(QListWidgetItem
 	}
 }
 
+void sflphone_kdeView::on_listWidget_callHistory_itemDoubleClicked(QListWidgetItem * item)
+{
+	qDebug() << "on_listWidget_callHistory_itemDoubleClicked";
+	action_history->setChecked(false);
+	stackedWidget_screen->setCurrentWidget(page_callList);
+	Call * pastCall = callList->findCallByHistoryItem(listWidget_callHistory->currentItem());
+	Call * call = callList->addDialingCall(pastCall->getPeerName());
+	call->appendItemText(pastCall->getPeerPhoneNumber());
+	addCallToCallList(call);
+	listWidget_callList->setCurrentRow(listWidget_callList->count() - 1);
+	actionb(call, CALL_ACTION_ACCEPT);
+}
+
+
+void sflphone_kdeView::on_listWidget_addressBook_itemDoubleClicked(QListWidgetItem * item)
+{
+	qDebug() << "on_listWidget_addressBook_itemDoubleClicked";
+	action_addressBook->setChecked(false);
+	stackedWidget_screen->setCurrentWidget(page_callList);
+	ContactItemWidget * w = (ContactItemWidget *) (listWidget_addressBook->itemWidget(listWidget_addressBook->currentItem()));
+	Call * call = callList->addDialingCall(w->getContactName());
+	call->appendItemText(w->getContactNumber());
+	addCallToCallList(call);
+	listWidget_callList->setCurrentRow(listWidget_callList->count() - 1);
+	actionb(call, CALL_ACTION_ACCEPT);
+}
 
 void sflphone_kdeView::contextMenuEvent(QContextMenuEvent *event)
 {
diff --git a/sflphone_kde/sflphone_kdeview.h b/sflphone_kde/sflphone_kdeview.h
index 2723d1b6c3447f9b77490375258950562a0bd561..77a04827a7d6389794f4e3648c3e7c30d127571d 100644
--- a/sflphone_kde/sflphone_kdeview.h
+++ b/sflphone_kde/sflphone_kdeview.h
@@ -168,7 +168,9 @@ private slots:
 	void on_listWidget_callList_itemChanged();
 	void on_listWidget_callList_itemDoubleClicked(QListWidgetItem * item);
 	void on_listWidget_callHistory_currentItemChanged();
+	void on_listWidget_callHistory_itemDoubleClicked(QListWidgetItem * item);
 	void on_listWidget_addressBook_currentItemChanged();
+	void on_listWidget_addressBook_itemDoubleClicked(QListWidgetItem * item);
 
 	void on1_callStateChanged(const QString &callID, const QString &state);
 	void on1_error(MapStringString details);