diff --git a/apps/files_external/lib/api.php b/apps/files_external/lib/api.php
index 51c48427aa3ea70e00eaf49d6458dcdab8bdaae0..81ebd4e886a68caf25407f06745f17e3b3712415 100644
--- a/apps/files_external/lib/api.php
+++ b/apps/files_external/lib/api.php
@@ -27,27 +27,32 @@ class Api {
 	/**
 	 * Formats the given mount config to a mount entry.
 	 * 
-	 * @param bool $isSystemMount true for system mount, false
-	 * for personal mount
+	 * @param string $mountPoint mount point name, relative to the data dir
+	 * @param array $mountConfig mount config to format
 	 *
 	 * @return array entry
 	 */
-	private static function formatMount($mountConfig, $isSystemMount = false) {
-		// split user name from mount point
-		$path = dirname($mountConfig['mountpoint']);
+	private static function formatMount($mountPoint, $mountConfig) {
+		// strip "/$user/files" from mount point
+		$mountPoint = explode('/', trim($mountPoint, '/'), 3);
+		$mountPoint = $mountPoint[2];
+
+		// split path from mount point
+		$path = dirname($mountPoint);
 		if ($path === '.') {
 			$path = '';
 		}
 
+		$isSystemMount = !$mountConfig['personal'];
+
 		$permissions = \OCP\PERMISSION_READ;
 		// personal mounts can be deleted
 		if (!$isSystemMount) {
 			$permissions |= \OCP\PERMISSION_DELETE;
 		}
 
-		// TODO: add storageType, might need to use another OC_Mount_Config method
 		$entry = array(
-			'name' => basename($mountConfig['mountpoint']),
+			'name' => basename($mountPoint),
 			'path' => $path,
 			'type' => 'dir',
 			'backend' => $mountConfig['backend'],
@@ -67,15 +72,9 @@ class Api {
 		$entries = array();
 		$user = \OC_User::getUser();
 
-		$personalMounts = \OC_Mount_Config::getPersonalMountPoints();
-		$systemMounts = \OC_Mount_Config::getSystemMountPoints();
-
-		foreach ($systemMounts as $mountConfig) {
-			$entries[] = self::formatMount($mountConfig, true);
-		}
-
-		foreach ($personalMounts as $mountConfig) {
-			$entries[] = self::formatMount($mountConfig, false);
+		$mounts = \OC_Mount_Config::getAbsoluteMountPoints($user);
+		foreach($mounts as $mountPoint => $mount) {
+			$entries[] = self::formatMount($mountPoint, $mount);
 		}
 
 		return new \OC_OCS_Result($entries);
diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php
index ec908fb068d3613dace8cb2f34a5be81f680abe4..f860d5e705f6e6b5e270c45a552efa19fe711c0a 100755
--- a/apps/files_external/lib/config.php
+++ b/apps/files_external/lib/config.php
@@ -156,6 +156,7 @@ class OC_Mount_Config {
 				if ( (!isset($mountPoints[$mountPoint]))
 					|| ($options['priority'] >= $mountPoints[$mountPoint]['priority']) ) {
 					$options['priority_type'] = self::MOUNT_TYPE_GLOBAL;
+					$options['backend'] = $backends[$options['class']]['backend'];
 					$mountPoints[$mountPoint] = $options;
 				}
 			}
@@ -177,6 +178,7 @@ class OC_Mount_Config {
 				if ( (!isset($mountPoints[$mountPoint]))
 					|| ($options['priority'] >= $mountPoints[$mountPoint]['priority']) ) {
 					$options['priority_type'] = self::MOUNT_TYPE_GLOBAL;
+					$options['backend'] = $backends[$options['class']]['backend'];
 					$mountPoints[$mountPoint] = $options;
 				}
 			}
@@ -201,6 +203,7 @@ class OC_Mount_Config {
 							|| ($options['priority'] >= $mountPoints[$mountPoint]['priority'])
 							|| ($mountPoints[$mountPoint]['priority_type'] !== self::MOUNT_TYPE_GROUP) ) {
 							$options['priority_type'] = self::MOUNT_TYPE_GROUP;
+							$options['backend'] = $backends[$options['class']]['backend'];
 							$mountPoints[$mountPoint] = $options;
 						}
 					}
@@ -227,6 +230,7 @@ class OC_Mount_Config {
 							|| ($options['priority'] >= $mountPoints[$mountPoint]['priority'])
 							|| ($mountPoints[$mountPoint]['priority_type'] !== self::MOUNT_TYPE_USER) ) {
 							$options['priority_type'] = self::MOUNT_TYPE_USER;
+							$options['backend'] = $backends[$options['class']]['backend'];
 							$mountPoints[$mountPoint] = $options;
 						}
 					}
@@ -243,6 +247,7 @@ class OC_Mount_Config {
 
 				// Always override previous config
 				$options['priority_type'] = self::MOUNT_TYPE_PERSONAL;
+				$options['backend'] = $backends[$options['class']]['backend'];
 				$mountPoints[$mountPoint] = $options;
 			}
 		}