diff --git a/PlayBot/sessions/irc.pm b/PlayBot/sessions/irc.pm
index 2a9c21ab9f7e6b4348acb9c43654182c707c3b43..13be30ffcceca37eeb99467c07a8f3dc76abe269 100644
--- a/PlayBot/sessions/irc.pm
+++ b/PlayBot/sessions/irc.pm
@@ -264,13 +264,16 @@ sub on_speak
     # first we check for url
     my @processed_str = PlayBot::sites::parse(@args);
 
-    # we remove any part processed (url and tags)
-    foreach (@processed_str) {
-        $msg =~ s/\Q$_\E// if $_;
-    }
-
     # and we check for command
-    @args = ($kernel, $user, lc $chan->[0], $msg);
+    my $cmd = (split /\s/, $msg)[0];
+    if ($cmd eq "!fav")
+    {
+        @args = ($kernel, $user, lc $chan->[0], $cmd);
+    }
+    else
+    {
+        @args = ($kernel, $user, lc $chan->[0], $msg);
+    }
     PlayBot::commands::parser::exec(@args);
 }