diff --git a/app/models/project.rb b/app/models/project.rb
index b505ffb58cf00fb89c633b5c6671f27fa8123d41..6c4f3075e1c0cff2473feb852ee224c1316044e1 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -423,6 +423,7 @@ class Project < ActiveRecord::Base
         gitlab_shell.rm_satellites(old_path_with_namespace)
         ensure_satellite_exists
         send_move_instructions
+        reset_events_cache
       rescue
         # Returning false does not rollback after_* transaction but gives
         # us information about failing some of tasks
@@ -434,4 +435,19 @@ class Project < ActiveRecord::Base
       raise Exception.new('repository cannot be renamed')
     end
   end
+
+  # Reset events cache related to this project
+  #
+  # Since we do cache @event we need to reset cache in special cases:
+  # * when project was moved
+  # * when project was renamed
+  # Events cache stored like  events/23-20130109142513.
+  # The cache key includes updated_at timestamp.
+  # Thus it will automatically generate a new fragment
+  # when the event is updated because the key changes.
+  def reset_events_cache
+    Event.where(project_id: self.id).
+      order('id DESC').limit(100).
+      update_all(updated_at: Time.now)
+  end
 end
diff --git a/app/services/project_transfer_service.rb b/app/services/project_transfer_service.rb
index 8fbf92ff20a68b0618e16e3e1bf4335299e110cc..7150c1c78c0c213b8a27ebc248f125dd032fa1f4 100644
--- a/app/services/project_transfer_service.rb
+++ b/app/services/project_transfer_service.rb
@@ -32,6 +32,9 @@ class ProjectTransferService
       # create satellite repo
       project.ensure_satellite_exists
 
+      # clear project cached events
+      project.reset_events_cache
+
       true
     end
   end