diff --git a/res/layout/frag_dialing.xml b/res/layout/frag_dialing.xml
index 327dd9b..69311b9 100644
--- a/res/layout/frag_dialing.xml
+++ b/res/layout/frag_dialing.xml
@@ -33,14 +33,18 @@
             android:layout_marginBottom="15dp"
             android:weightSum="100" >
 
-            <ImageButton
+            <Button
                 android:id="@+id/numeric_keyboard"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_weight="30"
                 android:background="@drawable/item_keyboard_choice_selector"
                 android:contentDescription="@string/dial_numeric_pad"
-                android:src="@drawable/ic_action_dial_pad_light" />
+                android:drawableLeft="@drawable/ic_action_dial_pad_light"
+                android:drawablePadding="5sp"
+                android:text="123"
+                android:textColor="@color/white"
+                android:textSize="15sp" />
 
             <org.sflphone.views.CircularImageView
                 android:id="@+id/fake_dar_band"
@@ -49,14 +53,18 @@
                 android:layout_weight="40"
                 android:background="@drawable/item_keyboard_choice_selector" />
 
-            <ImageButton
+            <Button
                 android:id="@+id/alphabetic_keyboard"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_weight="30"
                 android:background="@drawable/item_keyboard_choice_selector"
                 android:contentDescription="@string/dial_alphabetic_pad"
-                android:src="@drawable/ic_action_keyboard_light" />
+                android:drawableLeft="@drawable/ic_action_keyboard_light"
+                android:drawablePadding="10sp"
+                android:text="ABC"
+                android:textColor="@color/white"
+                android:textSize="15sp" />
         </LinearLayout>
 
         <ImageButton
diff --git a/src/org/sflphone/fragments/DialingFragment.java b/src/org/sflphone/fragments/DialingFragment.java
index dcf0d9c..96294e9 100644
--- a/src/org/sflphone/fragments/DialingFragment.java
+++ b/src/org/sflphone/fragments/DialingFragment.java
@@ -53,6 +53,7 @@
 import android.view.ViewGroup;
 import android.view.inputmethod.EditorInfo;
 import android.view.inputmethod.InputMethodManager;
+import android.widget.Button;
 import android.widget.ImageButton;
 import android.widget.TextView;
 import android.widget.TextView.OnEditorActionListener;
@@ -133,7 +134,7 @@
 
         inflatedView.setOnTouchListener(this);
 
-        ((ImageButton) inflatedView.findViewById(R.id.alphabetic_keyboard)).setOnClickListener(new OnClickListener() {
+        ((Button) inflatedView.findViewById(R.id.alphabetic_keyboard)).setOnClickListener(new OnClickListener() {
 
             @Override
             public void onClick(View v) {
@@ -143,7 +144,7 @@
             }
         });
 
-        ((ImageButton) inflatedView.findViewById(R.id.numeric_keyboard)).setOnClickListener(new OnClickListener() {
+        ((Button) inflatedView.findViewById(R.id.numeric_keyboard)).setOnClickListener(new OnClickListener() {
 
             @Override
             public void onClick(View v) {
