diff --git a/test/connection_test.js b/test/connection_test.js
index <HASH>..<HASH> 100644
--- a/test/connection_test.js
+++ b/test/connection_test.js
@@ -12,6 +12,7 @@ var testCase = require('nodeunit').testCase,
   Script = require('vm'),
   Collection = mongodb.Collection,
   Server = mongodb.Server,
+  ReadPreference = mongodb.ReadPreference,
   ServerManager = require('../test/tools/server_manager').ServerManager;
 
 // Test db
@@ -227,6 +228,17 @@ exports.testConnectUsingSocketOptions = function(test) {
   })
 }
 
+exports.testConnectUsingSocketOptionsAndReadPreferenceAsObject = function(test) {
+  var db = new Db(MONGODB, new Server("127.0.0.1", mongodb.Connection.DEFAULT_PORT
+    , {readPreference: new ReadPreference("secondary"), auto_reconnect: true, poolSize: 4, socketOptions:{keepAlive:100}, ssl:useSSL}),{w:0, native_parser: (process.env['TEST_NATIVE'] != null)});
+  db.open(function(err, db) {
+    test.equal(null, err);
+    test.equal(100, db.serverConfig.checkoutWriter().socketOptions.keepAlive)
+    test.done();
+    db.close();
+  })
+}
+
 /**
  * Retrieve the server information for the current
  * instance of the db client
Added connection test when readPreference passed to server is a ReadPreference object