diff --git a/keyboards/model01/keymaps/dshields/keymap.c b/keyboards/model01/keymaps/dshields/keymap.c
index 981f108183..7dbfaf0cfb 100644
--- a/keyboards/model01/keymaps/dshields/keymap.c
+++ b/keyboards/model01/keymaps/dshields/keymap.c
@@ -1,13 +1,12 @@
 #include QMK_KEYBOARD_H
 #include "dshields.h"
-#include "dynamic_macro.h"
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 [DEF] = LAYOUT(
     RESET  , KC_1   , KC_2   , KC_3   , KC_4   , KC_5   ,                      KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , _______,
     KC_GRV , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   , RGB_TOG,    _______, KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_EQL ,
     KC_PGUP, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   , KC_TAB ,    KC_ENT , KC_H   , KC_J   , KC_K   , KC_L   , KC_SCLN, KC_QUOT,
-    KC_PGDN, KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_ESC ,    DM_PLAY, KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH, KC_MINS,
+    KC_PGDN, KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , KC_ESC ,    DM_PLY1, KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH, KC_MINS,
                                            OSMLCTL,                                 OSMRCTL,
                                               KC_BSPC,                           KC_SPC ,
                                                  KC_LGUI,                     OSMRALT,
@@ -16,9 +15,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     ),
 [FUN] = LAYOUT(
     EEP_RST, KC_F1  , KC_F2  , KC_F3  , KC_F4  , KC_F5  ,                      KC_F6  , KC_F7  , KC_F8  , KC_F9  , KC_F10 , KC_F11 ,
-    KC_TAB , _______, KC_MS_U, _______, KC_BTN3, _______, RGB_MOD,    DM_STRT, _______, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_F12 ,
+    KC_TAB , _______, KC_MS_U, _______, KC_BTN3, _______, RGB_MOD,    DM_REC1, _______, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_F12 ,
     KC_HOME, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN1, _______, RGB_HUI,    _______, KC_LEFT, KC_DOWN, KC_UP  , KC_RGHT, _______, _______,
-    KC_END , KC_PSCR, KC_INS , _______, KC_BTN2, _______, RGB_HUD,    DM_STOP, _______, _______, _______, _______, KC_BSLS, KC_PIPE,
+    KC_END , KC_PSCR, KC_INS , _______, KC_BTN2, _______, RGB_HUD,    DM_RSTP, _______, _______, _______, _______, KC_BSLS, KC_PIPE,
                                            _______,                                 _______,
                                               KC_DEL ,                           KC_ENT ,
                                                  _______,                     _______,
diff --git a/keyboards/planck/keymaps/dshields/keymap.c b/keyboards/planck/keymaps/dshields/keymap.c
index 030e094a7e..f18102ee2b 100644
--- a/keyboards/planck/keymaps/dshields/keymap.c
+++ b/keyboards/planck/keymaps/dshields/keymap.c
@@ -1,12 +1,11 @@
 #include QMK_KEYBOARD_H
 #include "dshields.h"
-#include "dynamic_macro.h"
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [DEF] = LAYOUT_planck_grid(
         KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_ESC,  KC_BSPC, KC_Y,    KC_U,    KC_I,    KC_O,    KC_P   ,
         KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_TAB,  KC_ENT,  KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN,
-        KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    OSMLSFT, DM_PLAY, KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,
+        KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    OSMLSFT, DM_PLY1, KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,
         OSMLCTL, KC_LGUI, OSMLALT, OSL_FUN, OSL_LWR, MT_SPC,  MT_SPC,  OSL_RSE, KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
     ),
     [LWR] = LAYOUT_planck_grid(
@@ -24,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     [FUN] = LAYOUT_planck_grid(
         KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   RESET,   EEP_RST, KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10 ,
         KC_F11,  KC_F12,  KC_F13,  KC_F14,  KC_F15,  _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R,
-        LGT_TOG, LGT_MOD, LGT_BRT, LGT_INC, LGT_DEC, DM_STRT, DM_STOP, _______, _______, KC_BTN1, KC_BTN2, KC_BTN3,
+        LGT_TOG, LGT_MOD, LGT_BRT, LGT_INC, LGT_DEC, DM_REC1, DM_RSTP, _______, _______, KC_BTN1, KC_BTN2, KC_BTN3,
         _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R
     )
 };
diff --git a/users/dshields/config.h b/users/dshields/config.h
index d92f787e41..aa10814763 100644
--- a/users/dshields/config.h
+++ b/users/dshields/config.h
@@ -6,6 +6,7 @@
 #define ONESHOT_TIMEOUT           3000
 #define RETRO_TAPPING
 #define BACKLIGHT_BREATHING
+#define DYNAMIC_MACRO_NO_NESTING
 
 #define MOUSEKEY_INTERVAL         20
 #define MOUSEKEY_DELAY            0
diff --git a/users/dshields/dshields.c b/users/dshields/dshields.c
index bc88cae561..8f432a317c 100644
--- a/users/dshields/dshields.c
+++ b/users/dshields/dshields.c
@@ -1,12 +1,7 @@
 #include "quantum.h"
 #include "dshields.h"
 
-extern bool process_record_dynamic_macro(uint16_t keycode, keyrecord_t *record);
-
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    if (!process_record_dynamic_macro(keycode, record)) {
-        return false;
-    }
     if (keycode == KC_ESC && record->event.pressed) {
         bool rc = true;
         uint8_t mods = 0;
diff --git a/users/dshields/dshields.h b/users/dshields/dshields.h
index d8f76e8c00..e1aa07a5db 100644
--- a/users/dshields/dshields.h
+++ b/users/dshields/dshields.h
@@ -1,10 +1,5 @@
 #pragma once
 
-// dynamic macro keys
-#define DM_PLAY DYN_MACRO_PLAY1
-#define DM_STRT DYN_REC_START1
-#define DM_STOP DYN_REC_STOP
-
 // one-shot layer keys
 #define OSL_RSE OSL(RSE)
 #define OSL_LWR OSL(LWR)
@@ -45,4 +40,3 @@
 #endif
 
 enum layers   { DEF, LWR, RSE, FUN };
-enum keycodes { DYNAMIC_MACRO_RANGE = SAFE_RANGE };
diff --git a/users/dshields/rules.mk b/users/dshields/rules.mk
index 8a7c82cd44..abfbe5e40e 100644
--- a/users/dshields/rules.mk
+++ b/users/dshields/rules.mk
@@ -8,6 +8,7 @@ SLEEP_LED_ENABLE      = no  # Breathing sleep LED during USB suspend
 API_SYSEX_ENABLE      = no
 SPACE_CADET_ENABLE    = no
 LEADER_ENABLE         = no
+DYNAMIC_MACRO_ENABLE  = yes
 
 LINK_TIME_OPTIMIZATION_ENABLE = yes