diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md
index 0d3e666701..755fd769e6 100644
--- a/docs/feature_rgblight.md
+++ b/docs/feature_rgblight.md
@@ -361,6 +361,7 @@ rgblight_sethsv(HSV_GREEN, 2); // led 2
 |`rgblight_step_noeeprom()`                  |Change the mode to the next RGB animation in the list of enabled RGB animations (not written to EEPROM) |
 |`rgblight_step_reverse()`                   |Change the mode to the previous RGB animation in the list of enabled RGB animations |
 |`rgblight_step_reverse_noeeprom()`          |Change the mode to the previous RGB animation in the list of enabled RGB animations (not written to EEPROM) |
+|`rgblight_reload_from_eeprom()`             |Reload the effect configuration (enabled, mode and color) from EEPROM |
 
 #### effects mode disable/enable
 |Function                                    |Description  |
diff --git a/quantum/rgblight.c b/quantum/rgblight.c
index d856f6d6c8..ac4ff9bfda 100644
--- a/quantum/rgblight.c
+++ b/quantum/rgblight.c
@@ -234,6 +234,17 @@ void rgblight_init(void) {
     is_rgblight_initialized = true;
 }
 
+void rgblight_reload_from_eeprom(void) {
+    /* Reset back to what we have in eeprom */
+    rgblight_config.raw = eeconfig_read_rgblight();
+    RGBLIGHT_SPLIT_SET_CHANGE_MODEHSVS;
+    rgblight_check_config();
+    eeconfig_debug_rgblight();  // display current eeprom values
+    if (rgblight_config.enable) {
+        rgblight_mode_noeeprom(rgblight_config.mode);
+    }
+}
+
 uint32_t rgblight_read_dword(void) { return rgblight_config.raw; }
 
 void rgblight_update_dword(uint32_t dword) {
diff --git a/quantum/rgblight.h b/quantum/rgblight.h
index efbffa7fdb..1854fee999 100644
--- a/quantum/rgblight.h
+++ b/quantum/rgblight.h
@@ -347,6 +347,9 @@ uint8_t rgblight_get_speed(void);
 void    rgblight_set_speed(uint8_t speed);
 void    rgblight_set_speed_noeeprom(uint8_t speed);
 
+/*   reset */
+void rgblight_reload_from_eeprom(void);
+
 /*       query */
 uint8_t rgblight_get_mode(void);
 uint8_t rgblight_get_hue(void);