This also causes the puppet init script to fail, at least for me, on precise:
The script restarts apache twice, and the second time the restart fails because apache hasn't created it's pid file yet. So the init script thinks apache isn't running.
On my system, the init script finishes at 11:21:04.823562372 while the pid file doesn't appear until 11:21:05.180181675. So there is race condition for a few hundred milliseconds.
Maybe the init script should wait until the pid file is created?