Yes, if Tear is not running it can't receive DBus messages. You can use a commandline startup to work around that. Code: /usr/bin/tear "file://%s" this actually sends a message to itself if it is already running, if not - it starts.
/usr/bin/tear "file://%s"