diff --git a/lib/chromedriver.js b/lib/chromedriver.js
index <HASH>..<HASH> 100644
--- a/lib/chromedriver.js
+++ b/lib/chromedriver.js
@@ -403,7 +403,12 @@ class Chromedriver extends events.EventEmitter {
         `Defaulting to ${BaseDriver.DRIVER_PROTOCOL.MJSONWP}`);
       return;
     }
-
+    const chromeOptions = getCapValue(this.capabilities, 'chromeOptions', {});
+    if (chromeOptions.w3c === false) {
+      log.info(`Chromedriver v. ${cdVersion} supports ${BaseDriver.DRIVER_PROTOCOL.W3C} protocol, ` +
+        `but ${BaseDriver.DRIVER_PROTOCOL.MJSONWP} one has been explicitly requested`);
+      return;
+    }
     this.desiredProtocol = BaseDriver.DRIVER_PROTOCOL.W3C;
     // given caps might not be properly prefixed
     // so we try to fix them in order to properly init
fix: Properly set the protocol if w3c chrome option is set to false (#<I>)