This is how selinux works. Transition rules are dependent on current type and type of executed binary.

In refpolicy-derived installs most daemon transitions depend on a source type of initrc_t i.e. started by an init script.

There's plenty of info on this on the web in particular see:

http://danwalsh.livejournal.com/23944.html

The rest of the blog is good selinux info too.
--
Sent from my phone with, please excuse brevity and typos