diff --git a/src/gui/guiFormSpecMenu.cpp b/src/gui/guiFormSpecMenu.cpp index 84ade453f921..ad1f3000574d 100644 --- a/src/gui/guiFormSpecMenu.cpp +++ b/src/gui/guiFormSpecMenu.cpp @@ -4692,6 +4692,7 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event) // The split amount will always at least one, because the number // of slots will never be greater than the selected amount u16 split_amount = m_left_drag_amount / m_left_drag_stacks.size(); + u16 split_remaining = m_left_drag_amount % m_left_drag_stacks.size(); ItemStack stack_from = m_left_drag_stack; m_selected_amount = m_left_drag_amount; @@ -4702,7 +4703,7 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event) if (ds.first == *m_selected_item) { // Adding to the source stack, just change the selected amount - m_selected_amount -= split_amount; + m_selected_amount -= split_amount + split_remaining; } else { // Reset the stack to its original state