diff --git a/lib/aethyr/core/commands/admin/admin_handler.rb b/lib/aethyr/core/commands/admin/admin_handler.rb
index 7df4a8e6de86bcbe6acbec5a47eafe0161537ed0..ecc9c5d1d097c1f41a38940665769cd0116a0302 100644
--- a/lib/aethyr/core/commands/admin/admin_handler.rb
+++ b/lib/aethyr/core/commands/admin/admin_handler.rb
@@ -7,6 +7,11 @@ module Aethyr
         super(player, commands, *args)
       end
 
+      def self.admin_object_added(data, klass)
+        return unless (data[:game_object].is_a? Player) && data[:game_object].admin
+        data[:game_object].subscribe(klass.new(data[:game_object]))
+      end
+
       protected
       #Tail a file
       def tail file, lines = 10
diff --git a/lib/aethyr/core/commands/admin/alook.rb b/lib/aethyr/core/commands/admin/alook.rb
index 734ae136130632cf4ad7fd0b9c954a59c5224b0f..712f57693cc9717b8d8f72ce03ff92e5ef6a8cbb 100644
--- a/lib/aethyr/core/commands/admin/alook.rb
+++ b/lib/aethyr/core/commands/admin/alook.rb
@@ -11,8 +11,7 @@ module Aethyr
           end
 
           def self.object_added(data)
-            return unless data[:game_object].is_a? Player
-            data[:game_object].subscribe(AlookHandler.new(data[:game_object]))
+            return Aethyr::Extend::AdminHandler.admin_object_added(data, AlookHandler)
           end
 
           def player_input(data)