diff --git a/CHANGELOG b/CHANGELOG
index 3206c625cd088a9b6befa866ca358c30b4c5d67b..57567728b495e89393c5d10c519e6e80ebff2d7c 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 Please view this file on the master branch, on stable branches it's out of date.
 
 v 7.11.0 (unreleased)
+  - Don't show duplicate deploy keys
   - Make the first branch pushed to an empty repository the default HEAD (Stan Hu)
   - Make Reply-To config apply to change e-mail confirmation and other Devise notifications (Stan Hu)
   - Add application setting to restrict user signups to e-mail domains (Stan Hu)
diff --git a/app/models/user.rb b/app/models/user.rb
index 1cf7cfea974316cb3653d895db45d50834d9b426..a70cbaa518b1abf63fcc0996ff5b97c6b9790120 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -438,7 +438,7 @@ class User < ActiveRecord::Base
   end
 
   def project_deploy_keys
-    DeployKey.in_projects(self.authorized_projects.pluck(:id))
+    DeployKey.unscoped.in_projects(self.authorized_projects.pluck(:id)).distinct(:id)
   end
 
   def accessible_deploy_keys
diff --git a/features/project/deploy_keys.feature b/features/project/deploy_keys.feature
index a71f6124d9c3a0af54a62ddd9a37d9bbebd731b9..47cf774094f6492fbb1d04cfad45bd2535ecfbf8 100644
--- a/features/project/deploy_keys.feature
+++ b/features/project/deploy_keys.feature
@@ -9,9 +9,10 @@ Feature: Project Deploy Keys
     Then I should see project deploy key
 
   Scenario: I should see project deploy keys
-    Given other project has deploy key
+    Given other projects have deploy keys
     When I visit project deploy keys page
-    Then I should see other project deploy key 
+    Then I should see other project deploy key
+    And I should only see the same deploy key once
 
   Scenario: I should see public deploy keys
     Given public deploy key exists
@@ -26,7 +27,7 @@ Feature: Project Deploy Keys
     And I should see newly created deploy key
 
   Scenario: I attach other project deploy key to project
-    Given other project has deploy key
+    Given other projects have deploy keys
     And I visit project deploy keys page
     When I click attach deploy key
     Then I should be on deploy keys page
diff --git a/features/steps/project/deploy_keys.rb b/features/steps/project/deploy_keys.rb
index 50e14513a7a28a294c575976e60d12d48bc67025..81d1182cd1baf101d883402b7e6c5b7a7256acaa 100644
--- a/features/steps/project/deploy_keys.rb
+++ b/features/steps/project/deploy_keys.rb
@@ -45,10 +45,20 @@ class Spinach::Features::ProjectDeployKeys < Spinach::FeatureSteps
     end
   end
 
-  step 'other project has deploy key' do
-    @second_project = create :project, namespace: create(:group)
+  step 'other projects have deploy keys' do
+    @second_project = create(:project, namespace: create(:group))
     @second_project.team << [current_user, :master]
     create(:deploy_keys_project, project: @second_project)
+
+    @third_project = create(:project, namespace: create(:group))
+    @third_project.team << [current_user, :master]
+    create(:deploy_keys_project, project: @third_project, deploy_key: @second_project.deploy_keys.first)
+  end
+
+  step 'I should only see the same deploy key once' do
+    within '.available-keys' do
+      page.should have_selector('ul li', count: 1)
+    end
   end
 
   step 'public deploy key exists' do