diff --git a/java/src/org/futo/inputmethod/latin/LatinIME.kt b/java/src/org/futo/inputmethod/latin/LatinIME.kt
index 13b16f64fc6c81d066c16f56ee91be8550280049..bfd0716ed4f1fca1b5286d867b5fd2c0b1bf5944 100644
--- a/java/src/org/futo/inputmethod/latin/LatinIME.kt
+++ b/java/src/org/futo/inputmethod/latin/LatinIME.kt
@@ -124,6 +124,7 @@ class LatinIME : InputMethodService(), LifecycleOwner, ViewModelStoreOwner, Save
 
     val themeOption get() = activeThemeOption
     val colorScheme get() = activeColorScheme
+    val keyboardColor get() = drawableProvider?.primaryKeyboardColor?.let { androidx.compose.ui.graphics.Color(it) } ?: colorScheme.surface
 
     private var drawableProvider: DynamicThemeProvider? = null
 
diff --git a/java/src/org/futo/inputmethod/latin/uix/UixManager.kt b/java/src/org/futo/inputmethod/latin/uix/UixManager.kt
index 6bf142e8f6bff7e6fc7aac6b4a3a5d5a1a519a86..0933672c930e00b02001dbf152bf0862b47924ac 100644
--- a/java/src/org/futo/inputmethod/latin/uix/UixManager.kt
+++ b/java/src/org/futo/inputmethod/latin/uix/UixManager.kt
@@ -412,7 +412,7 @@ class UixManager(private val latinIME: LatinIME) {
                     Spacer(modifier = Modifier.weight(1.0f))
                     Surface(modifier = Modifier.onSizeChanged {
                         latinIME.updateTouchableHeight(it.height)
-                    }) {
+                    }, color = latinIME.keyboardColor) {
                         Box {
                             Column {
                                 when {