diff --git a/docs/config_options.md b/docs/config_options.md
index 3012dcdcf..01c0e3ee8 100644
--- a/docs/config_options.md
+++ b/docs/config_options.md
@@ -89,7 +89,7 @@ This is a C header file that is one of the first things included, and will persi
* mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
* `#define LOCKING_RESYNC_ENABLE`
* tries to keep switch state consistent with keyboard LED state
-* `#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))`
+* `#define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)`
* key combination that allows the use of magic commands (useful for debugging)
* `#define USB_MAX_POWER_CONSUMPTION`
* sets the maximum power (in mA) over USB for the device (default: 500)
diff --git a/docs/feature_command.md b/docs/feature_command.md
index deabedc1c..a4ce3f5ae 100644
--- a/docs/feature_command.md
+++ b/docs/feature_command.md
@@ -16,36 +16,36 @@ To use Command, hold down the key combination defined by the `IS_COMMAND()` macr
If you would like to change the key assignments for Command, `#define` these in your `config.h` at either the keyboard or keymap level. All keycode assignments here must omit the `KC_` prefix.
-|Define |Default |Description |
-|------------------------------------|---------------------------------------------------------------------------|------------------------------------------------|
-|`IS_COMMAND()` |(get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
|The key combination to activate Command |
-|`MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS` |`true` |Set default layer with the Function row |
-|`MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS` |`true` |Set default layer with the number keys |
-|`MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM`|`false` |Set default layer with `MAGIC_KEY_LAYER0..9` |
-|`MAGIC_KEY_DEBUG` |`D` |Toggle debugging over serial |
-|`MAGIC_KEY_DEBUG_MATRIX` |`X` |Toggle key matrix debugging |
-|`MAGIC_KEY_DEBUG_KBD` |`K` |Toggle keyboard debugging |
-|`MAGIC_KEY_DEBUG_MOUSE` |`M` |Toggle mouse debugging |
-|`MAGIC_KEY_CONSOLE` |`C` |Enable the Command console |
-|`MAGIC_KEY_VERSION` |`V` |Print the running QMK version to the console |
-|`MAGIC_KEY_STATUS` |`S` |Print the current keyboard status to the console|
-|`MAGIC_KEY_HELP` |`H` |Print Command help to the console |
-|`MAGIC_KEY_HELP_ALT` |`SLASH` |Print Command help to the console (alternate) |
-|`MAGIC_KEY_LAYER0` |`0` |Make layer 0 the default layer |
-|`MAGIC_KEY_LAYER0_ALT` |`GRAVE` |Make layer 0 the default layer (alternate) |
-|`MAGIC_KEY_LAYER1` |`1` |Make layer 1 the default layer |
-|`MAGIC_KEY_LAYER2` |`2` |Make layer 2 the default layer |
-|`MAGIC_KEY_LAYER3` |`3` |Make layer 3 the default layer |
-|`MAGIC_KEY_LAYER4` |`4` |Make layer 4 the default layer |
-|`MAGIC_KEY_LAYER5` |`5` |Make layer 5 the default layer |
-|`MAGIC_KEY_LAYER6` |`6` |Make layer 6 the default layer |
-|`MAGIC_KEY_LAYER7` |`7` |Make layer 7 the default layer |
-|`MAGIC_KEY_LAYER8` |`8` |Make layer 8 the default layer |
-|`MAGIC_KEY_LAYER9` |`9` |Make layer 9 the default layer |
-|`MAGIC_KEY_BOOTLOADER` |`B` |Jump to bootloader |
-|`MAGIC_KEY_BOOTLOADER_ALT` |`ESC` |Jump to bootloader (alternate) |
-|`MAGIC_KEY_LOCK` |`CAPS` |Lock the keyboard so nothing can be typed |
-|`MAGIC_KEY_EEPROM` |`E` |Print stored EEPROM config to the console |
-|`MAGIC_KEY_EEPROM_CLEAR` |`BSPACE` |Clear the EEPROM |
-|`MAGIC_KEY_NKRO` |`N` |Toggle N-Key Rollover (NKRO) |
-|`MAGIC_KEY_SLEEP_LED` |`Z` |Toggle LED when computer is sleeping |
+|Define |Default |Description |
+|------------------------------------|--------------------------------|------------------------------------------------|
+|`IS_COMMAND()` |`(get_mods() == MOD_MASK_SHIFT)`|The key combination to activate Command |
+|`MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS` |`true` |Set default layer with the Function row |
+|`MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS` |`true` |Set default layer with the number keys |
+|`MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM`|`false` |Set default layer with `MAGIC_KEY_LAYER0..9` |
+|`MAGIC_KEY_DEBUG` |`D` |Toggle debugging over serial |
+|`MAGIC_KEY_DEBUG_MATRIX` |`X` |Toggle key matrix debugging |
+|`MAGIC_KEY_DEBUG_KBD` |`K` |Toggle keyboard debugging |
+|`MAGIC_KEY_DEBUG_MOUSE` |`M` |Toggle mouse debugging |
+|`MAGIC_KEY_CONSOLE` |`C` |Enable the Command console |
+|`MAGIC_KEY_VERSION` |`V` |Print the running QMK version to the console |
+|`MAGIC_KEY_STATUS` |`S` |Print the current keyboard status to the console|
+|`MAGIC_KEY_HELP` |`H` |Print Command help to the console |
+|`MAGIC_KEY_HELP_ALT` |`SLASH` |Print Command help to the console (alternate) |
+|`MAGIC_KEY_LAYER0` |`0` |Make layer 0 the default layer |
+|`MAGIC_KEY_LAYER0_ALT` |`GRAVE` |Make layer 0 the default layer (alternate) |
+|`MAGIC_KEY_LAYER1` |`1` |Make layer 1 the default layer |
+|`MAGIC_KEY_LAYER2` |`2` |Make layer 2 the default layer |
+|`MAGIC_KEY_LAYER3` |`3` |Make layer 3 the default layer |
+|`MAGIC_KEY_LAYER4` |`4` |Make layer 4 the default layer |
+|`MAGIC_KEY_LAYER5` |`5` |Make layer 5 the default layer |
+|`MAGIC_KEY_LAYER6` |`6` |Make layer 6 the default layer |
+|`MAGIC_KEY_LAYER7` |`7` |Make layer 7 the default layer |
+|`MAGIC_KEY_LAYER8` |`8` |Make layer 8 the default layer |
+|`MAGIC_KEY_LAYER9` |`9` |Make layer 9 the default layer |
+|`MAGIC_KEY_BOOTLOADER` |`B` |Jump to bootloader |
+|`MAGIC_KEY_BOOTLOADER_ALT` |`ESC` |Jump to bootloader (alternate) |
+|`MAGIC_KEY_LOCK` |`CAPS` |Lock the keyboard so nothing can be typed |
+|`MAGIC_KEY_EEPROM` |`E` |Print stored EEPROM config to the console |
+|`MAGIC_KEY_EEPROM_CLEAR` |`BSPACE` |Clear the EEPROM |
+|`MAGIC_KEY_NKRO` |`N` |Toggle N-Key Rollover (NKRO) |
+|`MAGIC_KEY_SLEEP_LED` |`Z` |Toggle LED when computer is sleeping |
diff --git a/quantum/template/avr/config.h b/quantum/template/avr/config.h
index fc65bb597..0fc7cf9cb 100644
--- a/quantum/template/avr/config.h
+++ b/quantum/template/avr/config.h
@@ -136,7 +136,7 @@ along with this program. If not, see .
/* key combination for magic key command */
/* defined by default; to change, uncomment and set to the combination you want */
-// #define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
+// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
diff --git a/quantum/template/ps2avrgb/config.h b/quantum/template/ps2avrgb/config.h
index 320d71fcb..9117bf1f9 100644
--- a/quantum/template/ps2avrgb/config.h
+++ b/quantum/template/ps2avrgb/config.h
@@ -47,7 +47,7 @@ along with this program. If not, see .
/* key combination for magic key command */
/* defined by default; to change, uncomment and set to the combination you want */
-// #define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
+// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
/* Bootmagic Lite key configuration */
// #define BOOTMAGIC_LITE_ROW 0
diff --git a/tmk_core/common/command.h b/tmk_core/common/command.h
index e7c7b0ea1..e6e67fae4 100644
--- a/tmk_core/common/command.h
+++ b/tmk_core/common/command.h
@@ -35,7 +35,7 @@ bool command_proc(uint8_t code);
#endif
#ifndef IS_COMMAND
-#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
+#define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
#endif
#ifndef MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS