diff --git a/Bugzilla/Flag.pm b/Bugzilla/Flag.pm
index 6efe0b431b8d21379dc9408d0cee3d248370826a..8315a3ef6425d158696f9085e6437cc1c4c8b9bd 100644
--- a/Bugzilla/Flag.pm
+++ b/Bugzilla/Flag.pm
@@ -507,8 +507,10 @@ sub update_flags {
             $class->notify($new_flag, undef, $self);
         }
         else {
-            $new_flag->update($timestamp);
-            $class->notify($new_flag, $old_flags{$new_flag->id}, $self);
+            my $changes = $new_flag->update($timestamp);
+            if (scalar(keys %$changes)) {
+                $class->notify($new_flag, $old_flags{$new_flag->id}, $self);
+            }
             delete $old_flags{$new_flag->id};
         }
     }