diff --git a/app/controllers/admin/api_controller.rb b/app/controllers/admin/api_controller.rb
index 472b4b9c3..57d9bce4e 100644
--- a/app/controllers/admin/api_controller.rb
+++ b/app/controllers/admin/api_controller.rb
@@ -1,7 +1,7 @@
 class Admin::ApiController < Admin::AdminController
 
   def index
-    render_serialized(ApiKey.all.to_a, ApiKeySerializer)
+    render_serialized(ApiKey.where(hidden: false).to_a, ApiKeySerializer)
   end
 
   def regenerate_key
diff --git a/app/models/api_key.rb b/app/models/api_key.rb
index 099506ebf..1a197e1b7 100644
--- a/app/models/api_key.rb
+++ b/app/models/api_key.rb
@@ -12,7 +12,7 @@ class ApiKey < ActiveRecord::Base
   end
 
   def self.create_master_key
-    api_key = ApiKey.find_by(user_id: nil)
+    api_key = ApiKey.find_by(user_id: nil, hidden: false)
     if api_key.blank?
       api_key = ApiKey.create(key: SecureRandom.hex(32), created_by: Discourse.system_user)
     end
diff --git a/db/migrate/20141120043401_add_hidden_to_api_keys.rb b/db/migrate/20141120043401_add_hidden_to_api_keys.rb
new file mode 100644
index 000000000..565baa050
--- /dev/null
+++ b/db/migrate/20141120043401_add_hidden_to_api_keys.rb
@@ -0,0 +1,7 @@
+class AddHiddenToApiKeys < ActiveRecord::Migration
+  def change
+    change_table :api_keys do |t|
+      t.boolean :hidden, null: false, default: false
+    end
+  end
+end