When having two pieces of Armor with (negative) MaxHealth attribute, equiping one and then taking the other one into your Main-/Offhand slot and switching your Main-/Offhand item to something else makes the game ignore the (negative) MaxHealth attribute of the piece of armor your wearing.
(Look at the healthbar in the screenshots)
Command for recreation:
/give @p minecraft:diamond_helmet 1 0 {AttributeModifiers:[{AttributeName:"generic.maxHealth",Name:"generic.maxHealth",Amount:-0.9,Operation:1,UUIDLeast:408588,UUIDMost:100271}]}
It's because the player is given two modifiers with the exact same UUID (because they're obtaining the modifier by holding it as well as by wearing it). UUIDs are meant to be universally unique, as the name suggests.
Regardless, for 1.9 you will need to use the
Slot
tag to specify that the modifier should only be applied in the head slot, which circumvents the issue: