diff --git a/lib/docile/fallback_context_proxy.rb b/lib/docile/fallback_context_proxy.rb
index <HASH>..<HASH> 100644
--- a/lib/docile/fallback_context_proxy.rb
+++ b/lib/docile/fallback_context_proxy.rb
@@ -21,8 +21,8 @@ module Docile
 
     # Special case to allow proxy instance variables
     def instance_variables
-      # Ruby 1.8.x returns string names, convert to symbols
-      super.map(&:to_sym) - NON_PROXIED_INSTANCE_VARIABLES.to_a
+      # Ruby 1.8.x returns string names, convert to symbols for compatibility
+      super.select { |v| !NON_PROXIED_INSTANCE_VARIABLES.include?(v.to_sym) }
     end
 
     def method_missing(method, *args, &block)
Modify <I>.x compatibility fix to preserve original return type

On <I>.x, Object#instance_variables returns an array of strings,
whereas it is an array of symbols on later versions. This minor
change preserves that it is strings on <I>.x