diff --git a/create/gce_local_image_remote_instance.py b/create/gce_local_image_remote_instance.py
index 05f5a03..0b56cc9 100644
--- a/create/gce_local_image_remote_instance.py
+++ b/create/gce_local_image_remote_instance.py
@@ -44,7 +44,7 @@
         """
         logger.info("GCE local image: %s", avd_spec.local_image_artifact)
 
-        report = device_driver.CreateAndroidVirtualDevices(
+        report = device_driver.CreateGCETypeAVD(
             avd_spec.cfg,
             num=avd_spec.num,
             local_disk_image=avd_spec.local_image_artifact,
diff --git a/create/gce_remote_image_remote_instance.py b/create/gce_remote_image_remote_instance.py
index 70836a8..9977ebb 100644
--- a/create/gce_remote_image_remote_instance.py
+++ b/create/gce_remote_image_remote_instance.py
@@ -42,7 +42,7 @@
         Returns:
             A Report instance.
         """
-        report = device_driver.CreateAndroidVirtualDevices(
+        report = device_driver.CreateGCETypeAVD(
             avd_spec.cfg,
             avd_spec.remote_image[constants.BUILD_TARGET],
             avd_spec.remote_image[constants.BUILD_ID],
diff --git a/public/device_driver.py b/public/device_driver.py
index 7eecd11..43957a6 100755
--- a/public/device_driver.py
+++ b/public/device_driver.py
@@ -337,19 +337,19 @@
 
 
 # pylint: disable=too-many-locals
-def CreateAndroidVirtualDevices(cfg,
-                                build_target=None,
-                                build_id=None,
-                                num=1,
-                                gce_image=None,
-                                local_disk_image=None,
-                                cleanup=True,
-                                serial_log_file=None,
-                                logcat_file=None,
-                                autoconnect=False,
-                                report_internal_ip=False,
-                                avd_spec=None):
-    """Creates one or multiple android devices.
+def CreateGCETypeAVD(cfg,
+                     build_target=None,
+                     build_id=None,
+                     num=1,
+                     gce_image=None,
+                     local_disk_image=None,
+                     cleanup=True,
+                     serial_log_file=None,
+                     logcat_file=None,
+                     autoconnect=False,
+                     report_internal_ip=False,
+                     avd_spec=None):
+    """Creates one or multiple gce android devices.
 
     Args:
         cfg: An AcloudConfig instance.
@@ -405,7 +405,7 @@
             if autoconnect:
                 forwarded_ports = utils.AutoConnect(
                     ip, cfg.ssh_private_key_path, constants.GCE_VNC_PORT,
-                    constants.GCE_ADB_PORT, _SSH_USER, avd_spec.adb_port)
+                    constants.GCE_ADB_PORT, _SSH_USER, avd_spec.client_adb_port)
                 device_dict[constants.VNC_PORT] = forwarded_ports.vnc_port
                 device_dict[constants.ADB_PORT] = forwarded_ports.adb_port
             if device.instance_name in failures:
diff --git a/public/device_driver_test.py b/public/device_driver_test.py
index 60b0fb1..d561bb2 100644
--- a/public/device_driver_test.py
+++ b/public/device_driver_test.py
@@ -74,8 +74,8 @@
             return_value=self.compute_client)
         self.Patch(auth, "CreateCredentials", return_value=mock.MagicMock())
 
-    def testCreateAndroidVirtualDevices(self):
-        """Test CreateAndroidVirtualDevices."""
+    def testCreateGCETypeAVD(self):
+        """Test CreateGCETypeAVD."""
         cfg = _CreateCfg()
         fake_gs_url = "fake_gs_url"
         fake_ip = gcompute_client.IP(external="140.1.1.1", internal="10.1.1.1")
@@ -98,7 +98,7 @@
         self.compute_client.GetDataDiskName.return_value = disk_name
 
         # Verify
-        report = device_driver.CreateAndroidVirtualDevices(
+        report = device_driver.CreateGCETypeAVD(
             cfg, fake_build_target, fake_build_id)
         self.build_client.CopyTo.assert_called_with(
             fake_build_target, fake_build_id, artifact_name=cfg.disk_image_name,
@@ -130,8 +130,8 @@
         self.assertEquals(report.status, "SUCCESS")
 
     # pylint: disable=invalid-name
-    def testCreateAndroidVirtualDevicesInternalIP(self):
-        """Test CreateAndroidVirtualDevices with internal IP."""
+    def testCreateGCETypeAVDInternalIP(self):
+        """Test CreateGCETypeAVD with internal IP."""
         cfg = _CreateCfg()
         fake_ip = gcompute_client.IP(external="140.1.1.1", internal="10.1.1.1")
         fake_instance = "fake-instance"
@@ -141,7 +141,7 @@
         self.compute_client.GetInstanceIP.return_value = fake_ip
         self.compute_client.GenerateInstanceName.return_value = fake_instance
 
-        report = device_driver.CreateAndroidVirtualDevices(
+        report = device_driver.CreateGCETypeAVD(
             cfg, fake_build_target, fake_build_id, report_internal_ip=True)
 
         self.assertEquals(
