diff --git a/spec/opal/stdlib/native/hash_spec.rb b/spec/opal/stdlib/native/hash_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/opal/stdlib/native/hash_spec.rb
+++ b/spec/opal/stdlib/native/hash_spec.rb
@@ -40,5 +40,12 @@ describe Hash do
       native = obj.to_n
       `#{native}.a_key.key`.should == 1
     end
+
+    it 'passes Ruby objects that cannot be converted' do
+      object = Object.new
+      hash = { foo: object }
+      native = hash.to_n
+      expect(`#{native}.foo`).to eq object
+    end
   end
 end
diff --git a/stdlib/native.rb b/stdlib/native.rb
index <HASH>..<HASH> 100644
--- a/stdlib/native.rb
+++ b/stdlib/native.rb
@@ -33,7 +33,7 @@ module Native
         return #{value.to_n};
       }
       else {
-        return nil;
+        return value;
       }
     }
   end
Return original value if it cannot be nativized

Native.try_convert makes a best effort to return a native JS object, but
the Ruby object itself can be the native JS object you want and nil
almost never is.