diff --git a/src/node/interop/interop_client.js b/src/node/interop/interop_client.js
index 2b51bcae6a31fc350dffb6d112cbbd6c0fd426f6..8059c1a003ebe2dc34bc688d924fc47074cd23a9 100644
--- a/src/node/interop/interop_client.js
+++ b/src/node/interop/interop_client.js
@@ -267,14 +267,15 @@ function cancelAfterFirstResponse(client, done) {
  * Run one of the authentication tests.
  * @param {string} expected_user The expected username in the response
  * @param {Client} client The client to test against
+ * @param {?string} scope The scope to apply to the credentials
  * @param {function} done Callback to call when the test is completed. Included
  *     primarily for use with mocha
  */
-function authTest(expected_user, client, done) {
+function authTest(expected_user, client, scope, done) {
   (new GoogleAuth()).getApplicationDefault(function(err, credential) {
     assert.ifError(err);
-    if (credential.createScopedRequired()) {
-      credential = credential.createScoped(AUTH_SCOPE);
+    if (credential.createScopedRequired() && scope) {
+      credential = credential.createScoped(scope);
     }
     client.updateMetadata = grpc.getGoogleAuthDelegate(credential);
     var arg = {
@@ -314,8 +315,9 @@ var test_cases = {
   empty_stream: emptyStream,
   cancel_after_begin: cancelAfterBegin,
   cancel_after_first_response: cancelAfterFirstResponse,
-  compute_engine_creds: _.partial(authTest, COMPUTE_ENGINE_USER),
-  service_account_creds: _.partial(authTest, AUTH_USER)
+  compute_engine_creds: _.partial(authTest, COMPUTE_ENGINE_USER, null),
+  service_account_creds: _.partial(authTest, AUTH_USER, AUTH_SCOPE),
+  jwt_token_creds: _.partial(authTest, AUTH_USER, null)
 };
 
 /**