diff --git a/lib/net/ssh/known_hosts.rb b/lib/net/ssh/known_hosts.rb
index <HASH>..<HASH> 100644
--- a/lib/net/ssh/known_hosts.rb
+++ b/lib/net/ssh/known_hosts.rb
@@ -7,11 +7,12 @@ module Net; module SSH
 
   # Represents the result of a search in known hosts
   # see search_for
-  class HostKeys < Array
+  class HostKeys
+    include Enumerable
     attr_reader :host
 
     def initialize(host_keys, host, known_hosts, options = {})
-       super(host_keys)
+       @host_keys = host_keys
        @host = host
        @known_hosts = known_hosts
        @options = options
@@ -19,7 +20,15 @@ module Net; module SSH
 
     def add_host_key(key)
        @known_hosts.add(@host, key, @options)
-       push(key)
+       @host_keys.push(key)
+    end
+
+    def each(&block)
+       @host_keys.each(&block)
+    end
+
+    def empty?
+      @host_keys.empty?
     end
   end
HostKeys is an enumerable, closes: #<I>