diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index d62447071e4334b93f28aeefb40f915d80ccc558..f9bb1c6e15330c2382bb6139cc6d8f0a757cc705 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -1808,6 +1808,9 @@ void process_commands()
 #endif
       setWatch();
       break;
+    case 112: //  M112 -Emergency Stop
+      kill();
+      break;
     case 140: // M140 set bed temp
       if (code_seen('S')) setTargetBed(code_value());
       break;
diff --git a/README.md b/README.md
index 236c31277682eed675cab7b5a5848be3249554e9..443799e0c6dbb3498a89ab6ee70d7d3bae6e019a 100644
--- a/README.md
+++ b/README.md
@@ -193,6 +193,7 @@ M Codes
 *  M107 - Fan off
 *  M109 - Sxxx Wait for extruder current temp to reach target temp. Waits only when heating
 *         Rxxx Wait for extruder current temp to reach target temp. Waits when heating and cooling
+*  M112 - Emergency stop
 *  M114 - Output current position to serial port
 *  M115 - Capabilities string
 *  M117 - display message