diff --git a/Marlin/src/lcd/dogm/dogm_Statusscreen.h b/Marlin/src/lcd/dogm/dogm_Statusscreen.h
index b5baa341379aa53a36a771542e386d1a2ee0902f..544fe1afced2103d93cbbfaf1ac93f6542caebf5 100644
--- a/Marlin/src/lcd/dogm/dogm_Statusscreen.h
+++ b/Marlin/src/lcd/dogm/dogm_Statusscreen.h
@@ -49,8 +49,9 @@
 
 #else // !CUSTOM_STATUS_SCREEN_IMAGE
 
-  //#define COMBINED_HEATER_BITMAP
+  //#define STATUS_COMBINE_HEATERS
   //#define STATUS_HOTEND_NUMBERLESS
+  #define STATUS_HOTEND_INVERTED
   #define STATUS_HOTEND_ANIM
   #define STATUS_BED_ANIM
   //#define ALTERNATE_BED_BITMAP
@@ -63,7 +64,7 @@
 
 #if !STATUS_HEATERS_WIDTH && !STATUS_HOTEND1_WIDTH
 
-  #ifdef COMBINED_HEATER_BITMAP
+  #ifdef STATUS_COMBINE_HEATERS
 
     //
     // Status Screen Combined Heater bitmaps
@@ -235,7 +236,7 @@
 
     #endif // !HAS_HEATED_BED || HOTENDS > 3
 
-  #else // !COMBINED_HEATER_BITMAP
+  #else // !STATUS_COMBINE_HEATERS
 
     //
     // Status Screen Hotends bitmaps
@@ -247,7 +248,7 @@
 
       #if HOTENDS == 1 || defined(STATUS_HOTEND_NUMBERLESS)
 
-        const unsigned char status_hotend_bmp[] PROGMEM = {
+        const unsigned char status_hotend_a_bmp[] PROGMEM = {
           B00011111,B11100000,
           B00111111,B11110000,
           B00111111,B11110000,
@@ -264,7 +265,7 @@
 
         #ifdef STATUS_HOTEND_ANIM
 
-          const unsigned char status_hotend_on_bmp[] PROGMEM = {
+          const unsigned char status_hotend_b_bmp[] PROGMEM = {
             B00011111,B11100000,
             B00100000,B00010000,
             B00100000,B00010000,
@@ -298,7 +299,7 @@
 
           #ifdef STATUS_HOTEND_ANIM
 
-            const unsigned char status_hotend1_bmp[] PROGMEM = {
+            const unsigned char status_hotend1_a_bmp[] PROGMEM = {
               B00011111,B11100000,
               B00111111,B11110000,
               B00111110,B11110000,
@@ -313,7 +314,7 @@
               B00000011,B00000000
             };
 
-            const unsigned char status_hotend1_on_bmp[] PROGMEM = {
+            const unsigned char status_hotend1_b_bmp[] PROGMEM = {
               B00011111,B11100000,
               B00100000,B00010000,
               B00100001,B00010000,
@@ -328,7 +329,7 @@
               B00000011,B00000000
             };
 
-            const unsigned char status_hotend2_bmp[] PROGMEM = {
+            const unsigned char status_hotend2_a_bmp[] PROGMEM = {
               B00011111,B11100000,
               B00111111,B11110000,
               B00111100,B11110000,
@@ -343,7 +344,7 @@
               B00000011,B00000000
             };
 
-            const unsigned char status_hotend2_on_bmp[] PROGMEM = {
+            const unsigned char status_hotend2_b_bmp[] PROGMEM = {
               B00011111,B11100000,
               B00100000,B00010000,
               B00100011,B00010000,
@@ -360,7 +361,7 @@
 
           #else
 
-            const unsigned char status_hotend1_bmp[] PROGMEM = {
+            const unsigned char status_hotend1_a_bmp[] PROGMEM = {
               B00011111,B11100000,
               B00111110,B11110000,
               B00111100,B11110000,
@@ -375,7 +376,7 @@
               B00000011,B00000000
             };
 
-            const unsigned char status_hotend2_bmp[] PROGMEM = {
+            const unsigned char status_hotend2_a_bmp[] PROGMEM = {
               B00011111,B11100000,
               B00111100,B11110000,
               B00111011,B01110000,
@@ -394,11 +395,11 @@
 
         #endif
 
-        #if HOTENDS >= 3
+        #if STATUS_HOTEND_BITMAPS >= 3
 
           #ifdef STATUS_HOTEND_ANIM
 
-            const unsigned char status_hotend3_bmp[] PROGMEM = {
+            const unsigned char status_hotend3_a_bmp[] PROGMEM = {
               B00011111,B11100000,
               B00111111,B11110000,
               B00111100,B11110000,
@@ -413,7 +414,7 @@
               B00000011,B00000000
             };
 
-            const unsigned char status_hotend3_on_bmp[] PROGMEM = {
+            const unsigned char status_hotend3_b_bmp[] PROGMEM = {
               B00011111,B11100000,
               B00100000,B00010000,
               B00100011,B00010000,
@@ -430,7 +431,7 @@
 
           #else
 
-            const unsigned char status_hotend3_bmp[] PROGMEM = {
+            const unsigned char status_hotend3_a_bmp[] PROGMEM = {
               B00011111,B11100000,
               B00111100,B11110000,
               B00111011,B01110000,
@@ -449,11 +450,11 @@
 
         #endif
 
-        #if HOTENDS >= 4 && !HAS_HEATED_BED
+        #if STATUS_HOTEND_BITMAPS >= 4 && !HAS_HEATED_BED
 
           #ifdef STATUS_HOTEND_ANIM
 
-            const unsigned char status_hotend4_bmp[] PROGMEM = {
+            const unsigned char status_hotend4_a_bmp[] PROGMEM = {
               B00011111,B11100000,
               B00111111,B11110000,
               B00111011,B01110000,
@@ -468,7 +469,7 @@
               B00000011,B00000000
             };
 
-            const unsigned char status_hotend4_on_bmp[] PROGMEM = {
+            const unsigned char status_hotend4_b_bmp[] PROGMEM = {
               B00011111,B11100000,
               B00100000,B00010000,
               B00100100,B10010000,
@@ -485,7 +486,7 @@
 
           #else
 
-            const unsigned char status_hotend4_bmp[] PROGMEM = {
+            const unsigned char status_hotend4_a_bmp[] PROGMEM = {
               B00011111,B11100000,
               B00111011,B01110000,
               B00111011,B01110000,
@@ -504,6 +505,61 @@
 
         #endif
 
+        #if STATUS_HOTEND_BITMAPS >= 5 && !HAS_HEATED_BED
+
+          #ifdef STATUS_HOTEND_ANIM
+
+            const unsigned char status_hotend5_a_bmp[] PROGMEM = {
+              B00011111,B11100000,
+              B00111111,B11110000,
+              B00111000,B01110000,
+              B00111011,B11110000,
+              B00011000,B11100000,
+              B00011111,B01100000,
+              B00111111,B01110000,
+              B00111011,B01110000,
+              B00111100,B11110000,
+              B00001111,B11000000,
+              B00000111,B10000000,
+              B00000011,B00000000
+            };
+
+            const unsigned char status_hotend5_b_bmp[] PROGMEM = {
+              B00011111,B11100000,
+              B00100000,B00010000,
+              B00100111,B10010000,
+              B00100100,B00010000,
+              B00010111,B00100000,
+              B00010000,B10100000,
+              B00100000,B10010000,
+              B00100100,B10010000,
+              B00110011,B00110000,
+              B00001000,B01000000,
+              B00000100,B10000000,
+              B00000011,B00000000
+            };
+
+          #else
+
+            const unsigned char status_hotend5_a_bmp[] PROGMEM = {
+              B00011111,B11100000,
+              B00111000,B01110000,
+              B00111011,B11110000,
+              B00111000,B11110000,
+              B00011111,B01100000,
+              B00011111,B01100000,
+              B00111011,B01110000,
+              B00111100,B11110000,
+              B00111111,B11110000,
+              B00001111,B11000000,
+              B00000111,B10000000,
+              B00000011,B00000000
+            };
+
+          #endif
+
+        #endif
+
       #endif
 
     #endif
@@ -516,7 +572,7 @@
 // Default Status Screen Bed bitmaps
 //
 
-#if !STATUS_BED_WIDTH && !defined(COMBINED_HEATER_BITMAP) && HAS_HEATED_BED && HOTENDS < 4
+#if !STATUS_BED_WIDTH && !defined(STATUS_COMBINE_HEATERS) && HAS_HEATED_BED && HOTENDS < 4
 
   #ifdef ALTERNATE_BED_BITMAP
 
@@ -602,7 +658,7 @@
 
   #endif
 
-#endif // !STATUS_BED_WIDTH && !COMBINED_HEATER_BITMAP && HAS_HEATED_BED && HOTENDS < 4
+#endif // !STATUS_BED_WIDTH && !STATUS_COMBINE_HEATERS && HAS_HEATED_BED && HOTENDS < 4
 
 // Can also be overridden in Configuration.h
 // If you can afford it, try the 3-frame fan animation!
@@ -982,11 +1038,11 @@
   #endif
 
   #if STATUS_HOTEND_BITMAPS > 1
-    #define TEST_BITMAP_OFF status_hotend1_bmp
-    #define TEST_BITMAP_ON  status_hotend1_on_bmp
+    #define TEST_BITMAP_OFF status_hotend1_a_bmp
+    #define TEST_BITMAP_ON  status_hotend1_b_bmp
   #else
-    #define TEST_BITMAP_OFF status_hotend_bmp
-    #define TEST_BITMAP_ON  status_hotend_on_bmp
+    #define TEST_BITMAP_OFF status_hotend_a_bmp
+    #define TEST_BITMAP_ON  status_hotend_b_bmp
   #endif
   #ifndef STATUS_HEATERS_HEIGHT
     #define STATUS_HEATERS_HEIGHT (sizeof(TEST_BITMAP_OFF) / (STATUS_HOTEND1_BYTEWIDTH))
diff --git a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp
index 6ff9e7b85bae0463ec71cdc276f2eee8f9960536..17b5d1558b9113dac757416d0b15f6081995acb1 100644
--- a/Marlin/src/lcd/dogm/status_screen_DOGM.cpp
+++ b/Marlin/src/lcd/dogm/status_screen_DOGM.cpp
@@ -305,18 +305,26 @@ void MarlinUI::draw_status_screen() {
 
       #else
 
+        #if ANIM_END && defined(STATUS_HOTEND_INVERTED)
+          #define OFF_BMP(N) status_hotend##N##_b_bmp
+          #define ON_BMP(N)  status_hotend##N##_a_bmp
+        #else
+          #define OFF_BMP(N) status_hotend##N##_a_bmp
+          #define ON_BMP(N)  status_hotend##N##_b_bmp
+        #endif
+
         #if STATUS_HOTEND_BITMAPS > 1
-          static const unsigned char* const status_hotend_gfx[STATUS_HOTEND_BITMAPS] PROGMEM = ARRAY_N(STATUS_HOTEND_BITMAPS, status_hotend1_bmp, status_hotend2_bmp, status_hotend3_bmp, status_hotend4_bmp, status_hotend5_bmp, status_hotend6_bmp);
+          static const unsigned char* const status_hotend_gfx[STATUS_HOTEND_BITMAPS] PROGMEM = ARRAY_N(STATUS_HOTEND_BITMAPS, OFF_BMP(1), OFF_BMP(2), OFF_BMP(3), OFF_BMP(4), OFF_BMP(5), OFF_BMP(6));
           #if ANIM_END
-            static const unsigned char* const status_hotend_on_gfx[STATUS_HOTEND_BITMAPS] PROGMEM = ARRAY_N(STATUS_HOTEND_BITMAPS, status_hotend1_on_bmp, status_hotend2_on_bmp, status_hotend3_on_bmp, status_hotend4_on_bmp, status_hotend5_on_bmp, status_hotend6_on_bmp);
+            static const unsigned char* const status_hotend_on_gfx[STATUS_HOTEND_BITMAPS] PROGMEM = ARRAY_N(STATUS_HOTEND_BITMAPS, ON_BMP(1), ON_BMP(2), ON_BMP(3), ON_BMP(4), ON_BMP(5), ON_BMP(6));
             #define HOTEND_BITMAP(N,S) (unsigned char*)pgm_read_ptr((S) ? &status_hotend_on_gfx[(N) % (STATUS_HOTEND_BITMAPS)] : &status_hotend_gfx[(N) % (STATUS_HOTEND_BITMAPS)])
           #else
             #define HOTEND_BITMAP(N,S) (unsigned char*)pgm_read_ptr(&status_hotend_gfx[(N) % (STATUS_HOTEND_BITMAPS)])
           #endif
         #elif ANIM_END
-          #define HOTEND_BITMAP(N,S) ((S) ? status_hotend_on_bmp : status_hotend_bmp)
+          #define HOTEND_BITMAP(N,S) ((S) ? ON_BMP() : OFF_BMP())
         #else
-          #define HOTEND_BITMAP(N,S) status_hotend_bmp
+          #define HOTEND_BITMAP(N,S) status_hotend_a_bmp
         #endif
 
         #define MAX_HOTEND_DRAW MIN(HOTENDS, ((128 - (STATUS_LOGO_BYTEWIDTH + STATUS_FAN_BYTEWIDTH) * 8) / (STATUS_HEATERS_XSPACE)))