diff --git a/kde/src/widgets/BookmarkDock.cpp b/kde/src/widgets/BookmarkDock.cpp
index 138e40893d00611591b7a40f178dc77171aac92e..5db807b6424c0e54c61b8e876e5dbac8533cfe40 100644
--- a/kde/src/widgets/BookmarkDock.cpp
+++ b/kde/src/widgets/BookmarkDock.cpp
@@ -48,7 +48,7 @@
 class QNumericTreeWidgetItem : public QTreeWidgetItem {
    public:
       QNumericTreeWidgetItem(QTreeWidget* parent):QTreeWidgetItem(parent),widget(0),weight(-1){}
-      QNumericTreeWidgetItem(QTreeWidgetItem* parent):QTreeWidgetItem(parent),widget(0),weight(-1){}
+      QNumericTreeWidgetItem(QTreeWidgetItem* parent=0):QTreeWidgetItem(parent),widget(0),weight(-1){}
       HistoryTreeItem* widget;
       int weight;
    private:
diff --git a/kde/src/widgets/CategorizedTreeWidget.h b/kde/src/widgets/CategorizedTreeWidget.h
index d44124bc59d8c578e465612675ec3d164dbe2116..d273353ff757490204351728a1b7cb6ebee12a3a 100644
--- a/kde/src/widgets/CategorizedTreeWidget.h
+++ b/kde/src/widgets/CategorizedTreeWidget.h
@@ -39,7 +39,7 @@ class CategorizedTreeWidget : public QTreeWidget
     explicit CategorizedTreeWidget(QWidget *parent = 0);
 
   public:
-    template <class T = QTreeWidgetItem> T* addItem(QString category);
+    template <class T = QTreeWidgetItem> T* addItem(QString category,bool top = false);
     template <class T = QTreeWidgetItem> T* addCategory(QString name);
     void removeItem(QTreeWidgetItem* item);
     
@@ -54,7 +54,7 @@ class CategorizedTreeWidget : public QTreeWidget
     QVector<QTreeWidgetItem*> m_lItems;
 };
 
-template <class T> T* CategorizedTreeWidget::addItem(QString category)
+template <class T> T* CategorizedTreeWidget::addItem(QString category,bool top)
 {
   QTreeWidgetItem* categoryItem = 0;
   for (int i = 0; i < topLevelItemCount(); ++i) {
@@ -69,8 +69,10 @@ template <class T> T* CategorizedTreeWidget::addItem(QString category)
   }
   setItemHidden(categoryItem,false);
 
-  T* iwdg =  new T(categoryItem);
+  T* iwdg =  new T((top)?0:categoryItem);
   resizeColumnToContents(0);
+   if (top)
+      categoryItem->insertChild(0,iwdg);
   m_lItems << iwdg;
   return iwdg;
 }
diff --git a/kde/src/widgets/ContactDock.cpp b/kde/src/widgets/ContactDock.cpp
index 8113a69bd5afdeaf468c8110740e6c2a9e4b7148..5f8247e1531c440d821488d63857fa6f490eddf6 100644
--- a/kde/src/widgets/ContactDock.cpp
+++ b/kde/src/widgets/ContactDock.cpp
@@ -59,7 +59,7 @@
 class QNumericTreeWidgetItem_hist : public QTreeWidgetItem {
    public:
       QNumericTreeWidgetItem_hist(QTreeWidget* parent):QTreeWidgetItem(parent),widget(0),weight(-1){}
-      QNumericTreeWidgetItem_hist(QTreeWidgetItem* parent):QTreeWidgetItem(parent),widget(0),weight(-1){}
+      QNumericTreeWidgetItem_hist(QTreeWidgetItem* parent=0):QTreeWidgetItem(parent),widget(0),weight(-1){}
       ContactItemWidget* widget;
       QString number;
       int weight;
diff --git a/kde/src/widgets/ContactItemWidget.cpp b/kde/src/widgets/ContactItemWidget.cpp
index 19d01d65639ab38ba127453ba1e0ff63e28f9afb..caf11735c968f96561993aa3994468bb3bd3077f 100644
--- a/kde/src/widgets/ContactItemWidget.cpp
+++ b/kde/src/widgets/ContactItemWidget.cpp
@@ -118,7 +118,6 @@ ContactItemWidget::~ContactItemWidget()
    if (m_pOrganizationL) delete m_pOrganizationL;
    if (m_pEmailL)        delete m_pEmailL       ;
    if (m_pMenu)          delete m_pMenu         ;
-//    delete m_pItem         ;
 
    delete m_pCallAgain   ;
    delete m_pEditContact ;
diff --git a/kde/src/widgets/HistoryDock.cpp b/kde/src/widgets/HistoryDock.cpp
index 78d91201c87ed03a71a6cce2432f93d7ed30751f..f5244fb86c65faeca91e1caafac804327bb2d94f 100644
--- a/kde/src/widgets/HistoryDock.cpp
+++ b/kde/src/widgets/HistoryDock.cpp
@@ -267,7 +267,7 @@ void HistoryDock::newHistoryCall(Call* call)
    switch (CURRENT_SORTING_MODE) {
       case Date: {
          QString category = timeToHistoryCategory(QDateTime::fromTime_t(callItem->call()->getStartTimeStamp().toUInt()).date());
-         QNumericTreeWidgetItem* item = m_pItemView->addItem<QNumericTreeWidgetItem>(category);
+         QNumericTreeWidgetItem* item = m_pItemView->addItem<QNumericTreeWidgetItem>(category,true);
          item->weight = -callItem->call()->getStopTimeStamp().toUInt();
          item->widget = callItem;
          callItem->setItem(item);