The biggest problem is the "systemctl restart" behaviour as described in bug 853019. The only serious fix for that would be to add support for ExecRestart= in systemd. Also, "systemctl status apparmor" is much less useful than "rcapparmor status" (rcapparmor is a symlink to the initscript) - just compare their output. That's where ExecStatus= would be helpful. We also had some fun[tm] when the apparmor.service wrapper was introduced. Actually it was more or less force-introduced to work around a (back then) systemd bug. Luckily I could at least sort these things out in the meantime. A last note: The systemd people (both upstream and openSUSE) were not too helpful in the past and sometimes have an "interesting" attitute, so you probably understand why I'm extra careful when it comes to systemd-related changes (see previous paragraph - I already burnt my fingers by accepting this contribution) and why switching to a "real" systemd unit is very low on my priority list.