diff --git a/src/pickup.cpp b/src/pickup.cpp index 0c45b8274a0b6..af8d35a301ba7 100644 --- a/src/pickup.cpp +++ b/src/pickup.cpp @@ -316,7 +316,10 @@ bool pick_one_up( item_location &loc, int quantity, bool &got_water, bool &offer case WIELD: if( wield_check.success() ) { //using original item, possibly modifying it - picked_up = u.wield( newit ); + picked_up = u.wield( it ); + if( picked_up ) { + u.weapon.charges = newit.charges; + } if( u.weapon.invlet ) { add_msg( m_info, _( "Wielding %c - %s" ), u.weapon.invlet, u.weapon.display_name() );