I've just realized that this is actually in violation of the [Debian Policy for init.d scripts](http://www.debian.org/doc/debian-policy/ch-opersys.htmlhttp://www.debian.org/doc/debian-policy/ch-opersys.html#s-writing-init). Specifically:

>The ```init.d``` scripts must ensure that they will behave sensibly (i.e., **returning success** and not starting multiple copies of a service) if invoked with ```start``` when the service is already running, or with ```stop``` when it isn't[...] The best way to achieve this is usually to use start-stop-daemon with the --oknodo option.