diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp
index 85c043c3b..1575096ba 100644
--- a/src/slic3r/GUI/Field.cpp
+++ b/src/slic3r/GUI/Field.cpp
@@ -265,11 +265,13 @@ void Field::get_value_by_opt_type(wxString& str, const bool check_value/* = true
                     set_value(double_to_string(val), true);
                 };
                 if (m_opt_id == "extrusion_multiplier") {
-                    wxString msg_text = format_wxstr(_L("Input value is out of range\n"
-                                                        "Are you sure that %s is a correct value and you want to continue?"), str);
-                    wxMessageDialog dialog(m_parent, msg_text, _L("Parameter validation") + ": " + m_opt_id, wxICON_WARNING | wxYES | wxNO);
-                    if (dialog.ShowModal() == wxID_NO)
-                        set_val(val);
+                    if (m_value.empty() || boost::any_cast<double>(m_value) != val) {
+                        wxString msg_text = format_wxstr(_L("Input value is out of range\n"
+                            "Are you sure that %s is a correct value and you want to continue?"), str);
+                        wxMessageDialog dialog(m_parent, msg_text, _L("Parameter validation") + ": " + m_opt_id, wxICON_WARNING | wxYES | wxNO);
+                        if (dialog.ShowModal() == wxID_NO)
+                            set_val(val);
+                    }
                 }
                 else {
                     show_error(m_parent, _L("Input value is out of range"));
@@ -573,13 +575,8 @@ void TextCtrl::propagate_value()
 		// on_kill_focus() cause a call of OptionsGroup::reload_config(),
 		// Thus, do it only when it's really needed (when undefined value was input)
         on_kill_focus();
-	else if (value_was_changed() && m_on_change != nullptr && !m_disable_change_event) {
-		// For this moment m_value is already updated in value_was_changed()
-		// so instead of call on_change_field() { m_on_change(m_opt_id, get_value()); }
-		// just do next:
-		m_on_change(m_opt_id, m_value);
-//        on_change_field(); // #ysFIXME delete after testing
-	}
+	else if (value_was_changed())
+        on_change_field();
 }
 
 void TextCtrl::set_value(const boost::any& value, bool change_event/* = false*/) {