This happens when you specify ensure => purged - it's a long-standing issue. It's on Puppet Labs' radar (see for example PUP-1295) but I don't think there's a fix as yet.