diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb
index ee9dc3433378b6a72aa641d77b97a93bedcc8f29..eca7b39bcdfb41bb9c6ef26b2411d3a9a092d867 100644
--- a/app/controllers/dashboard_controller.rb
+++ b/app/controllers/dashboard_controller.rb
@@ -22,13 +22,14 @@ class DashboardController < ApplicationController
       format.html
 
       format.json do
-        @events = Event.in_projects(current_user.authorized_projects.pluck(:id))
-        @events = @event_filter.apply_filter(@events).includes(:target, project: :namespace)
-        @events = @events.limit(20).offset(params[:offset] || 0)
+        load_events
         pager_json("events/_events", @events.count)
       end
 
-      format.atom { render layout: false }
+      format.atom do
+        load_events
+        render layout: false
+      end
     end
   end
 
@@ -77,4 +78,10 @@ class DashboardController < ApplicationController
   def load_projects
     @projects = current_user.authorized_projects.sorted_by_activity.non_archived
   end
+
+  def load_events
+    @events = Event.in_projects(current_user.authorized_projects.pluck(:id))
+    @events = @event_filter.apply_filter(@events).with_associations
+    @events = @events.limit(20).offset(params[:offset] || 0)
+  end
 end
diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb
index 7b7531f14260b4b1486c9a2eace763e6b815952a..d011523c94f0e2425c7e6054d1f939e949a2e590 100644
--- a/app/controllers/groups_controller.rb
+++ b/app/controllers/groups_controller.rb
@@ -39,13 +39,14 @@ class GroupsController < ApplicationController
       format.html
 
       format.json do
-        @events = Event.in_projects(project_ids)
-        @events = event_filter.apply_filter(@events).includes(:target, project: :namespace)
-        @events = @events.limit(20).offset(params[:offset] || 0)
+        load_events
         pager_json("events/_events", @events.count)
       end
 
-      format.atom { render layout: false }
+      format.atom do
+        load_events
+        render layout: false
+      end
     end
   end
 
@@ -154,4 +155,10 @@ class GroupsController < ApplicationController
   def group_params
     params.require(:group).permit(:name, :description, :path, :avatar)
   end
+
+  def load_events
+    @events = Event.in_projects(project_ids)
+    @events = event_filter.apply_filter(@events).with_associations
+    @events = @events.limit(20).offset(params[:offset] || 0)
+  end
 end
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index fb58ddd06e7c5e7fdbb313e5f4eea97eba5b3c82..b0fde88babc9ac5cc83518e0749d3aa313ec4cd8 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -76,7 +76,7 @@ class ProjectsController < ApplicationController
 
       format.json do
         @events = @project.events.recent
-        @events = event_filter.apply_filter(@events).includes(:target, project: :namespace)
+        @events = event_filter.apply_filter(@events).with_associations
         @events = @events.limit(limit).offset(params[:offset] || 0)
         pager_json('events/_events', @events.count)
       end
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index b4de500fcf1b741a47a91902cbb47bf3a1d40d93..8c5605c8b4b19b20d55aeeeb37ec7b1a7243a129 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -20,7 +20,7 @@ class UsersController < ApplicationController
     # Get user activity feed for projects common for both users
     @events = @user.recent_events.
       where(project_id: authorized_projects_ids).
-      includes(:target, project: :namespace).limit(30)
+      with_associations.limit(30)
 
     @title = @user.name
     @title_url = user_path(@user)
diff --git a/app/models/event.rb b/app/models/event.rb
index cae7f0be85b4b8be0127bc5a55ac2e64f146a25a..5579ab1dbb0e665db7e93f314895f5b6f9c15b98 100644
--- a/app/models/event.rb
+++ b/app/models/event.rb
@@ -47,6 +47,7 @@ class Event < ActiveRecord::Base
   scope :recent, -> { order("created_at DESC") }
   scope :code_push, -> { where(action: PUSHED) }
   scope :in_projects, ->(project_ids) { where(project_id: project_ids).recent }
+  scope :with_associations, -> { includes(project: :namespace) }
 
   class << self
     def reset_event_cache_for(target)