diff --git a/tools/run_tests/build_node.sh b/tools/run_tests/build_node.sh
index 600b1bde8cdc491a72f6a97b155aa66e0316e055..4b092982b29a3f9dc29895e28cf9b43d186057ea 100755
--- a/tools/run_tests/build_node.sh
+++ b/tools/run_tests/build_node.sh
@@ -2,19 +2,18 @@
 
 set -ex
 
+CONFIG=${CONFIG:-opt}
+
 # change to grpc repo root
 cd $(dirname $0)/../..
 
 # tells npm install to look for files in that directory
 export GRPC_ROOT=`pwd`
 # tells npm install the subdirectory with library files
-export GRPC_LIB_SUBDIR=libs/opt
+export GRPC_LIB_SUBDIR=libs/$CONFIG
 # tells npm install not to use default locations
 export GRPC_NO_INSTALL=yes
 
-# build the c libraries
-make -j static_c
-
 cd src/node
 
 npm install
diff --git a/tools/run_tests/run_node.sh b/tools/run_tests/run_node.sh
old mode 100644
new mode 100755
index 76f8a1a4f4e102f09cfbed71ea1cd86646677d51..005629594908cb014edab8f8317726d9c3cc3b21
--- a/tools/run_tests/run_node.sh
+++ b/tools/run_tests/run_node.sh
@@ -7,4 +7,4 @@ cd $(dirname $0)/../..
 
 root=`pwd`
 
-$root/src/node/node_modules/mocha/bin/mocha $root/node/test
+$root/src/node/node_modules/mocha/bin/mocha $root/src/node/test
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index bfe6d7949bcbbc721489398315c9b8219a8816fe..4f2f10f15c8dc5ac4c224100370b6f94fdbb092c 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -68,7 +68,7 @@ class NodeLanguage(object):
     return ['tools/run_tests/run_node.sh']
 
   def make_targets(self):
-    return []
+    return ['static_c']
 
   def build_steps(self):
     return [['tools/run_tests/build_node.sh']]
@@ -205,7 +205,7 @@ class TestCache(object):
 def _build_and_run(check_cancelled, newline_on_success, cache):
   """Do one pass of building & running tests."""
   # build latest, sharing cpu between the various makes
-  if not jobset.run(build_steps):
+  if not jobset.run(build_steps, maxjobs=1):
     return 1
 
   # run all the tests