diff --git a/android/charmap.c b/android/charmap.c
index af4163a..553ad67 100644
--- a/android/charmap.c
+++ b/android/charmap.c
@@ -265,8 +265,8 @@
 /* Custom character map created with -charmap option. */
 static AKeyCharmap android_custom_charmap = { 0 };
 
-const AKeyCharmap** android_charmaps = 0;
-int                 android_charmap_count = 0;
+static const AKeyCharmap** android_charmaps = 0;
+static int                 android_charmap_count = 0;
 
 /* Checks if a character represents an end of the line.
  * Returns a non-zero value if ch is an EOL character. Returns
@@ -693,6 +693,13 @@
 
 int
 android_charmap_setup(const char* kcm_file_path) {
+    // android_charmap_count being non-zero is used here as a flag,
+    //  indicating that charmap has been initialized for the running
+    // executable.
+    if (android_charmap_count != 0) {
+        return 0;
+    }
+
     if (NULL != kcm_file_path) {
         if (!parse_kcm_file(kcm_file_path, &android_custom_charmap)) {
             // Here we have two default charmaps and the custom one.
@@ -820,3 +827,15 @@
     /* no match */
     return 0;
 }
+
+const AKeyCharmap*
+android_get_default_charmap(void)
+{
+    return android_get_charmap_by_index(0);
+}
+
+const char*
+android_get_default_charmap_name(void)
+{
+    return android_get_default_charmap()->name;
+}
diff --git a/android/charmap.h b/android/charmap.h
index 08b059d..6bf35c0 100644
--- a/android/charmap.h
+++ b/android/charmap.h
@@ -90,4 +90,10 @@
                                     int  down,
                                     AKeycodeBuffer* keycodes);
 
+/* Gets default charmap (index 0) */
+const AKeyCharmap* android_get_default_charmap(void);
+
+/* Gets name of the default charmap (index 0) */
+const char* android_get_default_charmap_name(void);
+
 #endif /* _android_charmap_h */
diff --git a/android/console.c b/android/console.c
index a7b55e9..f913f7d 100644
--- a/android/console.c
+++ b/android/console.c
@@ -1807,7 +1807,7 @@
     }
 
     /* Get default charmap. */
-    charmap = android_get_charmap_by_index(0);
+    charmap = android_get_default_charmap();
     if (charmap == NULL) {
         control_write( client, "KO: no character map active in current device layout/config\r\n" );
         return -1;
diff --git a/android/main.c b/android/main.c
index 04d715c..88ce36b 100644
--- a/android/main.c
+++ b/android/main.c
@@ -2174,6 +2174,11 @@
         args[n++] = opts->http_proxy;
     }
 
+    if (opts->charmap) {
+        args[n++] = "-charmap";
+        args[n++] = opts->charmap;
+    }
+
     /* physical memory */
     args[n++] = "-m";
     args[n++] = opts->memory;
