diff --git a/app/assets/stylesheets/sections/events.scss b/app/assets/stylesheets/sections/events.scss
index 28551d9a6ee38d85d662054bc0adf511bc007c8d..710426441fe2988c7d58fe126b578d1b9028e380 100644
--- a/app/assets/stylesheets/sections/events.scss
+++ b/app/assets/stylesheets/sections/events.scss
@@ -31,7 +31,6 @@
  *
  */
 .event-item {
-  min-height: 40px;
   border-bottom: 1px solid #eee;
   .event-title {
     color: #333;
@@ -50,14 +49,18 @@
     }
   }
   .avatar {
-    width: 32px;
+    position: relative;
+    top: -3px;
   }
   .event_icon {
+    position: relative;
     float: right;
     border: 1px solid #EEE;
     padding: 5px;
     @include border-radius(5px);
     background: #F9F9F9;
+    margin-left: 10px;
+    top: -6px;
     img {
       width: 20px;
     }
@@ -71,7 +74,7 @@
     }
   }
 
-  padding: 15px 5px;
+  padding: 16px 5px;
   &:last-child { border:none }
   .wll:hover { background:none }
 
diff --git a/app/controllers/milestones_controller.rb b/app/controllers/milestones_controller.rb
index fb3bdf4a3dde2fb8896a40346858651c70b353a4..a0c824e8abb0919006ab1c151a13b53ad25ac398 100644
--- a/app/controllers/milestones_controller.rb
+++ b/app/controllers/milestones_controller.rb
@@ -43,7 +43,7 @@ class MilestonesController < ProjectResourceController
 
   def create
     @milestone = @project.milestones.new(params[:milestone])
-    @milestone.author_id = current_user.id
+    @milestone.author_id_of_changes = current_user.id
 
     if @milestone.save
       redirect_to project_milestone_path(@project, @milestone)
@@ -53,8 +53,7 @@ class MilestonesController < ProjectResourceController
   end
 
   def update
-    @milestone.author_id = current_user.id
-    @milestone.update_attributes(params[:milestone])
+    @milestone.update_attributes(params[:milestone].merge(author_id_of_changes: current_user.id))
 
     respond_to do |format|
       format.js
diff --git a/app/models/event.rb b/app/models/event.rb
index ee1998e5d4f19ac955719b343a85a9649bbb2b8d..90376e73753045f6df7547ae285f3f641421fbd8 100644
--- a/app/models/event.rb
+++ b/app/models/event.rb
@@ -15,6 +15,7 @@
 #
 
 class Event < ActiveRecord::Base
+  include NoteEvent
   include PushEvent
 
   attr_accessible :project, :action, :data, :author_id, :project_id,
@@ -58,12 +59,14 @@ class Event < ActiveRecord::Base
     end
   end
 
-  # Next events currently enabled for system
-  #  - push
-  #  - new issue
-  #  - merge request
-  def allowed?
-    push? || issue? || merge_request? || membership_changed? || note? || milestone?
+  def proper?
+    if push?
+      true
+    elsif membership_changed?
+      true
+    else
+      (issue? || merge_request? || note? || milestone?) && target
+    end
   end
 
   def project_name
diff --git a/app/models/milestone.rb b/app/models/milestone.rb
index 9e3c2bb5df655816b1a0f3a0790ae8c3ccd0b89b..6e3b0c15a5ed2023f95060bb1437b49e74857d8f 100644
--- a/app/models/milestone.rb
+++ b/app/models/milestone.rb
@@ -14,7 +14,7 @@
 
 class Milestone < ActiveRecord::Base
   attr_accessible :title, :description, :due_date, :closed
-  attr_accessor :author_id
+  attr_accessor :author_id, :author_id_of_changes
 
   belongs_to :project
   has_many :issues
diff --git a/app/observers/activity_observer.rb b/app/observers/activity_observer.rb
index fa39bbfbd344c0d613bf0ff27c597bf20d157faf..6fb10423eb735899ae4dee62cfef56ffb46bfb40 100644
--- a/app/observers/activity_observer.rb
+++ b/app/observers/activity_observer.rb
@@ -2,17 +2,26 @@ class ActivityObserver < ActiveRecord::Observer
   observe :issue, :merge_request, :note, :milestone
 
   def after_create(record)
-    Event.create(
-      project: record.project,
-      target_id: record.id,
-      target_type: record.class.name,
-      action: Event.determine_action(record),
-      author_id: record.author_id
-    )
+    event_author_id = record.author_id || record.author_id_of_changes
+
+    # Skip status notes
+    if record.kind_of?(Note) && record.note.include?("_Status changed to ")
+      return true
+    end
+
+    if event_author_id
+      Event.create(
+        project: record.project,
+        target_id: record.id,
+        target_type: record.class.name,
+        action: Event.determine_action(record),
+        author_id: event_author_id
+      )
+    end
   end
 
   def after_save(record)
-    if record.changed.include?("closed")
+    if record.changed.include?("closed") && record.author_id_of_changes
       Event.create(
         project: record.project,
         target_id: record.id,
diff --git a/app/roles/note_event.rb b/app/roles/note_event.rb
new file mode 100644
index 0000000000000000000000000000000000000000..cc6d7338a6dedce0bee87e9567364a22e8c49f73
--- /dev/null
+++ b/app/roles/note_event.rb
@@ -0,0 +1,21 @@
+module NoteEvent
+  def note_commit_id
+    target.noteable_id
+  end
+
+  def note_short_commit_id
+    note_commit_id[0..8]
+  end
+
+  def note_commit?
+    target.noteable_type == "Commit"
+  end
+
+  def note_target
+    target.noteable
+  end
+
+  def note_target_id
+    target.noteable_id
+  end
+end
diff --git a/app/views/events/_event.html.haml b/app/views/events/_event.html.haml
index 9625e1e20de851c17d7ea2bfa5f1c1badbd6ba87..191aed0747e0b3c39cb1bf775a6683bf72401523 100644
--- a/app/views/events/_event.html.haml
+++ b/app/views/events/_event.html.haml
@@ -1,17 +1,15 @@
-- if event.allowed?
+- if event.proper?
   %div.event-item
-    = event_image(event)
+    %span.cgray.right
+      #{time_ago_in_words(event.created_at)} ago.
+
     = image_tag gravatar_icon(event.author_email), class: "avatar s24"
 
     - if event.push?
       = render "events/event/push", event: event
-    - if event.note?
+      .clearfix
+    - elsif event.note?
       = render "events/event/note", event: event
     - else
       = render "events/event/common", event: event
 
-    .clearfix
-    %span.cgray.right
-      = time_ago_in_words(event.created_at)
-      ago.
-    .clearfix
diff --git a/app/views/events/event/_note.html.haml b/app/views/events/event/_note.html.haml
index 5dddef1f1ac94eefd5add19d1edebdf55d07e215..88b8532f8d8a9bd5f562034a7e6a97add6821581 100644
--- a/app/views/events/event/_note.html.haml
+++ b/app/views/events/event/_note.html.haml
@@ -1,9 +1,13 @@
 .event-title
   %span.author_name= link_to_author event
   %span.event_label commented on #{event.target.noteable_type_name}
-  - if event.target and event.target.noteable_id
-    = link_to [event.project, event.target.noteable] do
-      %strong= truncate event.target.noteable_id
+  - if event.target and event.note_target
+    - if event.note_commit?
+      = link_to event.note_short_commit_id, project_commit_path(event.project, event.note_commit_id), class: "commit_short_id"
+    - else
+      = link_to [event.project, event.note_target] do
+        %strong= truncate event.note_target_id
+
   - else
     %strong (deleted)
   at
@@ -13,4 +17,7 @@
     = event.project_name
 
 .event-body
-  %p.hint= truncate event.target.note, length: 70
+  %span.hint
+    &nbsp;
+    %i.icon-comment
+    = truncate event.target.note, length: 70