diff --git a/src/server/phone/dialer/keypad/numberdisplay.cpp b/src/server/phone/dialer/keypad/numberdisplay.cpp
diff --git a/src/server/phone/dialer/touch/dialer.cpp b/src/server/phone/dialer/touch/dialer.cpp
index d913b5b..dcd91d0 100644
--- a/src/server/phone/dialer/touch/dialer.cpp
+++ b/src/server/phone/dialer/touch/dialer.cpp
@@ -259,6 +259,8 @@ void Dialer::msgReceived(const QString& str, const QByteArray&)
         saveToContact();
     } else if( str == "dial()" ) {
         numberSelected();
+    } else if( str == "clear()" ) {
+        clear();
     }
 }
 
@@ -329,6 +331,12 @@ void Dialer::themeLoaded( const QString & )
         connect( newAction, SIGNAL(triggered()), this, SLOT(saveToContact()) );
         ++actionCount;
     }
+    if( !findItem( "clearnumber", ThemedView::Item, ThemeItem::All, false ) ) {
+        newAction = new QAction( QIcon( ":icon/clearall" ),
+                tr( "Clear Number" ), m_actions );
+        connect( newAction, SIGNAL(triggered()), this, SLOT(clear()) );
+        ++actionCount;
+    }
     if( actionCount > 0 )
     {
         QMenu *menu = new QMenu(this);


