diff --git a/app/controllers/notes_controller.rb b/app/controllers/notes_controller.rb
index 5d99d1e273e605361984c44cc1e6fee0c18a5452..19c8571705d876e904d5fe8eedee7bf1c7c194d4 100644
--- a/app/controllers/notes_controller.rb
+++ b/app/controllers/notes_controller.rb
@@ -13,6 +13,7 @@ def create
     @note = @project.notes.new(params[:note])
     @note.author = current_user
     @note.notify = true if params[:notify] == '1'
+    @note.notify_author = true if params[:notify_author] == '1'
     @note.save
 
     respond_to do |format|
diff --git a/app/mailers/notify.rb b/app/mailers/notify.rb
index 64f17232a20d6f0d60ddda45e8bb74df565cf19b..729481fdbc26702d34ff1b66272be9c21aadc4b0 100644
--- a/app/mailers/notify.rb
+++ b/app/mailers/notify.rb
@@ -28,6 +28,7 @@ def note_commit_email(user, note)
     @note = note
     @project = note.project
     @commit = @project.repo.commits(note.noteable_id).first
+    return unless ( note.notify or ( note.notify_author and @commit.author.email == @user.email ) )
     mail(:to => @user.email, :subject => "gitlab | #{@note.project.name} ")
   end
   
diff --git a/app/models/mailer_observer.rb b/app/models/mailer_observer.rb
index 159f655494c9601b0b8aa4dec2ab7327d0e9b2ae..2567ccfdf72d221a38cc6c92b63824da69e6f5dc 100644
--- a/app/models/mailer_observer.rb
+++ b/app/models/mailer_observer.rb
@@ -27,7 +27,7 @@ def new_user(user)
     end
 
     def new_note(note)
-      return unless note.notify
+      return unless note.notify or note.notify_author
       note.project.users.reject { |u| u.id == current_user.id } .each do |u|
         case note.noteable_type
         when "Commit" then
diff --git a/app/models/note.rb b/app/models/note.rb
index 9a38cd77ffa02d2ffdeee94ca7ec2f69611148ca..0248ceab8db2bbb1bd6e82c7510de88485a428ac 100644
--- a/app/models/note.rb
+++ b/app/models/note.rb
@@ -14,6 +14,7 @@ class Note < ActiveRecord::Base
 
   attr_protected :author, :author_id
   attr_accessor :notify
+  attr_accessor :notify_author
 
   validates_presence_of :project
 
@@ -40,6 +41,10 @@ class Note < ActiveRecord::Base
   def notify
     @notify ||= false
   end
+
+  def notify_author
+    @notify_author ||= false
+  end
 end
 # == Schema Information
 #
diff --git a/app/views/notes/_form.html.haml b/app/views/notes/_form.html.haml
index c2aa04e2ef6305be02108aa250d359f0d3ec85dc..23c9553ebb17187ab8b035f9835dab94fd98983a 100644
--- a/app/views/notes/_form.html.haml
+++ b/app/views/notes/_form.html.haml
@@ -23,9 +23,13 @@
       %br
       = f.file_field :attachment
 
-      = check_box_tag :notify, 1, true
+      = check_box_tag :notify, 1, @note.noteable_type != "Commit"
       = label_tag :notify, "Notify project team about your note"
 
+      -if @note.noteable_type == "Commit"
+        = check_box_tag :notify_author, 1 , @note.noteable_type == "Commit"
+        = label_tag :notify_author, "Notify commit author about your note"
+
     .clear
     %br
     = f.submit 'Add note', :class => "grey-button", :id => "submit_note"