diff --git a/lib/nodejs/test/client.js b/lib/nodejs/test/client.js
index 2aa2295..a6fabfc 100644
--- a/lib/nodejs/test/client.js
+++ b/lib/nodejs/test/client.js
@@ -24,8 +24,6 @@
 var fs = require('fs');
 var assert = require('assert');
 var thrift = require('thrift');
-var ThriftTransports = require('thrift/transport');
-var ThriftProtocols = require('thrift/protocol');
 var ThriftTest = require('./gen-nodejs/ThriftTest');
 var ThriftTestDriver = require('./thrift_test_driver').ThriftTestDriver;
 var ThriftTestDriverPromise = require('./thrift_test_driver_promise').ThriftTestDriver;
@@ -39,32 +37,15 @@
   .option('--promise', 'test with promise style functions')
   .parse(process.argv);
 
-var protocol = undefined;
-var transport =  undefined;
-var testDriver = undefined;
 
-if (program.protocol === "binary") {
-  protocol = ThriftProtocols.TBinaryProtocol;
-} else if (program.protocol === "json") {
-  protocol = ThriftProtocols.TJSONProtocol;
-} else {
-  //default
-  protocol = ThriftProtocols.TBinaryProtocol;
-}
+var protocol = thrift.TBinaryProtocol;
+if (program.protocol === "json") {
+  protocol = thrift.TJSONProtocol;
+} 
 
+var transport =  thrift.TBufferedTransport;
 if (program.transport === "framed") {
-  transport = ThriftTransports.TFramedTransport;
-} else if (program.transport === "buffered") {
-  transport = ThriftTransports.TBufferedTransport;
-} else {
-  //default
-  transport = ThriftTransports.TBufferedTransport;
-}
-
-if (program.promise) {
-  testDriver = ThriftTestDriverPromise;
-} else {
-  testDriver = ThriftTestDriver;
+  transport = thrift.TFramedTransport;
 }
 
 var options = {
@@ -87,6 +68,10 @@
   assert(false, err);
 });
 
+var testDriver = ThriftTestDriver;
+if (program.promise) {
+  testDriver = ThriftTestDriverPromise;
+} 
 testDriver(client, function (status) {
   console.log(status);
   connection.end();
