diff --git a/scripts/autorun/url_title4.pl b/scripts/autorun/url_title4.pl
index 092967a3649dff554f6b121235b5cf40d8e850c8..13d424287eda09f9867ca4e8dfb452e86338ac96 100644
--- a/scripts/autorun/url_title4.pl
+++ b/scripts/autorun/url_title4.pl
@@ -51,13 +51,13 @@ my $handler = Chessa::URI->new(
 );
 
 sub url_process {
-    my ($on_info, $nick, $text, $errors) = @_;
+    my ($target, $on_info, $nick, $text, $errors, $filtering) = @_;
     my @nickblock = split ' ', Irssi::settings_get_str('url_title_nick_blacklist');
     if ((grep {uc($nick) eq uc($_) } @nickblock) || ($text =~ /(notitle)/) || ($text =~ /^[!.\$][a-z]+/i)) {
         return;
     }
     my @channels = split ' ', Irssi::settings_get_str('url_title_filter_targets');
-    if (grep { uc($target) eq uc($_) } @channels) {
+    if ($filtering && grep { uc($target) eq uc($_) } @channels) {
         my $filters = Irssi::settings_get_str('url_title_site_filters');
 
         if ($handler->filter($text, $filters)) {
@@ -81,7 +81,7 @@ Irssi::signal_add 'ctcp action' => sub {
         my ($msg) = @_;
         $server->command("msg $target $msg");
     };
-    url_process($on_info, $nick, $text);
+    url_process($target, $on_info, $nick, $text, 0, 1);
 };
 
 Irssi::signal_add 'event privmsg' => sub {
@@ -95,13 +95,13 @@ Irssi::signal_add 'event privmsg' => sub {
     };
 
     if ($text =~ s/^\.title //i) {
-        url_process($on_info, $nick, $text, 1);
+        url_process($target, $on_info, $nick, $text, 1, 0);
     } else {
         my @channels = split ' ', Irssi::settings_get_str('url_title_targets');
         unless (grep { uc($target) eq uc($_)} @channels) {
             return;
         }
 
-        url_process($on_info, $nick, $text);
+        url_process($target, $on_info, $nick, $text, 0, 1);
     }
 }
\ No newline at end of file