The summons script is tricky due to multiclasses. What if you are a wizard/druid? Ranger/cleric? Because of this it uses the GetLastSpellCastClass. Which in normal situations with casting summons works fine, but with items and summons, it may not.
This is maybe why Talan's suggestion works. Cast barkskin first, then use the Staff and see what happens please?