diff --git a/quantum/process_keycode/process_unicode.c b/quantum/process_keycode/process_unicode.c
index a1be8d2fc3..06c1694f2e 100644
--- a/quantum/process_keycode/process_unicode.c
+++ b/quantum/process_keycode/process_unicode.c
@@ -74,6 +74,8 @@ bool process_unicode(uint16_t keycode, keyrecord_t *record) {
 }
 
 #ifdef UCIS_ENABLE
+qk_ucis_state_t qk_ucis_state;
+
 void qk_ucis_start(void) {
   qk_ucis_state.count = 0;
   qk_ucis_state.in_progress = true;
diff --git a/quantum/process_keycode/process_unicode.h b/quantum/process_keycode/process_unicode.h
index 85364e8eb3..02ce3dd7e0 100644
--- a/quantum/process_keycode/process_unicode.h
+++ b/quantum/process_keycode/process_unicode.h
@@ -29,11 +29,13 @@ typedef struct {
   char *code;
 } qk_ucis_symbol_t;
 
-struct {
+typedef struct {
   uint8_t count;
   uint16_t codes[UCIS_MAX_SYMBOL_LENGTH];
   bool in_progress:1;
-} qk_ucis_state;
+} qk_ucis_state_t;
+
+extern qk_ucis_state_t qk_ucis_state;
 
 #define UCIS_TABLE(...) {__VA_ARGS__, {NULL, NULL}}
 #define UCIS_SYM(name, code) {name, #code}
diff --git a/readme.md b/readme.md
index 05c5511090..b1808b6d13 100644
--- a/readme.md
+++ b/readme.md
@@ -13,7 +13,7 @@ For an easy-to-read version of this document and the repository, check out [http
 * [Planck](/keyboards/planck/)
 * [Preonic](/keyboards/preonic/)
 * [Atomic](/keyboards/atomic/)
-* [ErgoDox EZ](/keyboards/ergodox/ez/)
+* [ErgoDox EZ](/keyboards/ergodox/)
 * [Clueboard](/keyboards/clueboard/)
 * [Cluepad](/keyboards/cluepad/)