diff --git a/src/math-display.c b/src/math-display.c
index 6718665..cee359a 100644
--- a/src/math-display.c
+++ b/src/math-display.c
@@ -129,8 +129,9 @@ display_key_press_cb(GtkWidget *widget, GdkEventKey *event, MathDisplay *display
         return TRUE;
     }
 
-    /* Numeric keypad will often insert '.' regardless of locale */
-    if (event->keyval == GDK_KEY_KP_Decimal) {
+    /* Numeric keypad will insert '.' or ',' depending on layout */
+    if ((event->keyval == GDK_KEY_KP_Decimal) ||
+        (event->keyval == GDK_KEY_KP_Separator)) {
         math_equation_insert_numeric_point(display->priv->equation);
         return TRUE;
     }
