diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h
index 316d7dae1a79c4edbb4373760c5ceaeb3342375c..f8be1ebcabddb63b4dcf0e15145b2bf6c2196e9e 100644
--- a/Marlin/Configuration_adv.h
+++ b/Marlin/Configuration_adv.h
@@ -239,6 +239,11 @@
#define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60} // set the speeds for manual moves (mm/min)
#endif
+//Comment to disable setting feedrate multiplier via encoder
+#ifdef ULTIPANEL
+ #define ULTIPANEL_FEEDMULTIPLY
+#endif
+
// minimum time in microseconds that a movement needs to take if the buffer is emptied.
#define DEFAULT_MINSEGMENTTIME 20000
diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp
index 3262f2d245f0d3de3ed69c3eac7f0f8011dec52f..f9f65a208171d858f84ab52621d63329b44dbfb1 100644
--- a/Marlin/ultralcd.cpp
+++ b/Marlin/ultralcd.cpp
@@ -196,6 +196,7 @@ static void lcd_status_screen()
lcd_quick_feedback();
}
+#ifdef ULTIPANEL_FEEDMULTIPLY
// Dead zone at 100% feedrate
if ((feedmultiply < 100 && (feedmultiply + int(encoderPosition)) > 100) ||
(feedmultiply > 100 && (feedmultiply + int(encoderPosition)) < 100))
@@ -219,6 +220,7 @@ static void lcd_status_screen()
feedmultiply += int(encoderPosition);
encoderPosition = 0;
}
+#endif//ULTIPANEL_FEEDMULTIPLY
if (feedmultiply < 10)
feedmultiply = 10;