diff --git a/lib/commands/execute.js b/lib/commands/execute.js
index <HASH>..<HASH> 100644
--- a/lib/commands/execute.js
+++ b/lib/commands/execute.js
@@ -8,6 +8,17 @@ import logger from '../logger';
 let commands = {}, helpers = {}, extensions = {};
 
 commands.execute = async function (script, args) {
+  if (script.match(/^mobile\:/)) {
+    script = script.replace(/^mobile\:/, '').trim();
+    return await this.executeMobile(script, _.isArray(args) ? args[0] : args);
+  } else {
+    if (this.isWebContext()) {
+      args = this.convertElementsForAtoms(args);
+      return await this.executeAtom('execute_script', [script, args]);
+    } else {
+      return await this.uiAutoClient.sendCommand(script);
+    }
+  }
   if (this.isWebContext()) {
     args = this.convertElementsForAtoms(args);
     return await this.executeAtom('execute_script', [script, args]);
Make sure mobile:scroll is checked before web execute