For example, if you are holding a 2nd weapon in your hands and you drag an inventory item into your hands, (bandages, matches etc) your 2nd weapon will drop to the floor as expected.
When you return the other item to your inventory, the dropped weapon will re-appear in your hands and on the floor.
The weapon shown in your hands is not real, the weapon shown on the floor is the real one.
Also, sometimes when picking up the 'real' weapon form the floor, the attachments can disappear, but this is not consistent and despite this happening 3 or 4 times, i've been unable to re-produce this.