diff --git a/lib/private/App/DependencyAnalyzer.php b/lib/private/App/DependencyAnalyzer.php
index 7adb5d1c57413a721e14cc4975bb47212aca33e1..7b48e81f3ebffa68ce09737b25443fc677cdb1ad 100644
--- a/lib/private/App/DependencyAnalyzer.php
+++ b/lib/private/App/DependencyAnalyzer.php
@@ -197,6 +197,9 @@ class DependencyAnalyzer {
 		if (!is_array($commands)) {
 			$commands = array($commands);
 		}
+		if (isset($commands['@value'])) {
+			$commands = [$commands];
+		}
 		$os = $this->platform->getOS();
 		foreach ($commands as $command) {
 			if (isset($command['@attributes']['os']) && $command['@attributes']['os'] !== $os) {
diff --git a/tests/lib/App/DependencyAnalyzerTest.php b/tests/lib/App/DependencyAnalyzerTest.php
index 684a1b52259100426e5da368368aa76cc27a5140..091479798b3eeeaa1cdadbfaba38760a71b3d7bc 100644
--- a/tests/lib/App/DependencyAnalyzerTest.php
+++ b/tests/lib/App/DependencyAnalyzerTest.php
@@ -256,17 +256,18 @@ class DependencyAnalyzerTest extends TestCase {
 	 * @return array
 	 */
 	function providesCommands() {
-		return array(
-			array(array(), null),
+		return [
+			[[], null],
 			// grep is known on linux
-			array(array(), array(array('@attributes' => array('os' => 'Linux'), '@value' => 'grep'))),
+			[[], [['@attributes' => ['os' => 'Linux'], '@value' => 'grep']]],
 			// grepp is not known on linux
-			array(array('The command line tool grepp could not be found'), array(array('@attributes' => array('os' => 'Linux'), '@value' => 'grepp'))),
+			[['The command line tool grepp could not be found'], [['@attributes' => ['os' => 'Linux'], '@value' => 'grepp']]],
 			// we don't care about tools on Windows - we are on Linux
-			array(array(), array(array('@attributes' => array('os' => 'Windows'), '@value' => 'grepp'))),
+			[[], [['@attributes' => ['os' => 'Windows'], '@value' => 'grepp']]],
 			// grep is known on all systems
-			array(array(), 'grep'),
-		);
+			[[], 'grep'],
+			[[], ['@attributes' => ['os' => 'Linux'], '@value' => 'grep']],
+		];
 	}
 
 	/**