diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php
index 6de7c91358c4c0adcc779443c5965f3538874229..9b2cb0d0b0e449c90dc54e00dc8906a50da578c1 100755
--- a/apps/files_external/lib/config.php
+++ b/apps/files_external/lib/config.php
@@ -50,6 +50,7 @@ class OC_Mount_Config {
 	*/
 	public static function getBackends() {
 
+		// FIXME: do not rely on php key order for the options order in the UI
 		$backends['\OC\Files\Storage\Local']=array(
 				'backend' => 'Local',
 				'configuration' => array(
@@ -649,7 +650,9 @@ class OC_Mount_Config {
 	private static function encryptPasswords($options) {
 		if (isset($options['password'])) {
 			$options['password_encrypted'] = self::encryptPassword($options['password']);
-			unset($options['password']);
+			// do not unset the password, we want to keep the keys order
+			// on load... because that's how the UI currently works
+			$options['password'] = '';
 		}
 		return $options;
 	}
diff --git a/apps/files_external/tests/mountconfig.php b/apps/files_external/tests/mountconfig.php
index 144aad4f6464e0aad37b64c425c73dce41489927..bf43bb31c3876c3fe6d108163abcc5646c078058 100644
--- a/apps/files_external/tests/mountconfig.php
+++ b/apps/files_external/tests/mountconfig.php
@@ -245,6 +245,8 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
 		$this->assertEquals('\OC\Files\Storage\SMB', $config['ext']['class']);
 		$savedMountConfig = $config['ext']['configuration'];
 		$this->assertEquals($mountConfig, $savedMountConfig);
+		// key order needs to be preserved for the UI...
+		$this->assertEquals(array_keys($mountConfig), array_keys($savedMountConfig));
 	}
 
 	/**
@@ -281,6 +283,8 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
 		$this->assertEquals('\OC\Files\Storage\SMB', $config['ext']['class']);
 		$savedMountConfig = $config['ext']['configuration'];
 		$this->assertEquals($mountConfig, $savedMountConfig);
+		// key order needs to be preserved for the UI...
+		$this->assertEquals(array_keys($mountConfig), array_keys($savedMountConfig));
 	}
 
 	/**
@@ -316,8 +320,8 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase {
 		$config = $this->readUserConfig();
 		$savedConfig = $config[$mountType][$applicable]['/' . self::TEST_USER1 . '/files/ext']['options'];
 
-		// no more clear text password in file
-		$this->assertFalse(isset($savedConfig['password']));
+		// no more clear text password in file (kept because of key order)
+		$this->assertEquals('', $savedConfig['password']);
 
 		// encrypted password is present
 		$this->assertNotEquals($mountConfig['password'], $savedConfig['password_encrypted']);