diff --git a/git-hooks/gerrit-bot b/git-hooks/gerrit-bot
index 1ebe9cd36cb7a2c2a8e07b4d2acaea78edcd2385..e9338cde4c3e6473b37f97f0fdb0963c733ffa5d 100755
--- a/git-hooks/gerrit-bot
+++ b/git-hooks/gerrit-bot
@@ -87,9 +87,9 @@ sub printerr($)
   print STDERR $msg.".\n";
 }
 
-sub process_commit($$$$)
+sub process_commit($$$$$)
 {
-  my ($number, $project, $ref, $rev) = @_;
+  my ($number, $project, $branch, $ref, $rev) = @_;
 
   if (defined $processed{$ref}) {
     return;
@@ -98,7 +98,7 @@ sub process_commit($$$$)
   my $orig_project = $project;
   $project =~ s,/$,,; # XXX Workaround QTQAINFRA-381
   my ($score, $verdict);
-  if (defined $EXCLUDED_PROJECTS{$project}) {
+  if (defined($EXCLUDED_PROJECTS{$project}) || defined($EXCLUDED_PROJECTS{$project.":".$branch})) {
     $verbose and print "===== ".strftime("%c", localtime(time()))." ===== excluding commit ".$ref." in ".$project."\n";
     $score = 1;
     $verdict = "(skipped)";
@@ -179,6 +179,7 @@ REVIEW: while (<STATUS>) {
   defined($review) or die "cannot decode JSON string '".chomp($_)."'\n";
   my $number = $$review{'number'};
   my $project = $$review{'project'};
+  my $branch = $$review{'branch'};
   my $cps = $$review{'currentPatchSet'};
   if (defined $cps) {
     my $status = $$review{'status'};
@@ -197,7 +198,7 @@ REVIEW: while (<STATUS>) {
         }
       }
     }
-    process_commit($number, $project, $ref, $revision);
+    process_commit($number, $project, $branch, $ref, $revision);
   }
 }
 close STATUS;
@@ -210,7 +211,7 @@ while (<UPDATES>) {
     if ($type eq 'patchset-created') {
       my $chg = $$update{'change'};
       my $ps = $$update{'patchSet'};
-      process_commit($$chg{'number'}, $$chg{'project'}, $$ps{'ref'}, $$ps{'revision'});
+      process_commit($$chg{'number'}, $$chg{'project'}, $$chg{'branch'}, $$ps{'ref'}, $$ps{'revision'});
     } elsif ($type eq 'ref-updated') {
       my $rup = $$update{'refUpdate'};
       delete $skipfetch{$$rup{'project'}};