diff --git a/core/command/user/add.php b/core/command/user/add.php
index cb0ab319bc0a984608e9d6355ccfa780a69e275f..6c7e3a47231143c5e15d1f8781a175f7a6f97866 100644
--- a/core/command/user/add.php
+++ b/core/command/user/add.php
@@ -22,6 +22,7 @@
 
 namespace OC\Core\Command\User;
 
+use OC\Files\Filesystem;
 use OCP\IGroupManager;
 use OCP\IUser;
 use OCP\IUserManager;
@@ -131,7 +132,15 @@ class Add extends Command {
 			$output->writeln('Display name set to "' . $user->getDisplayName() . '"');
 		}
 
-		foreach ($input->getOption('group') as $groupName) {
+		$groups = $input->getOption('group');
+
+		if (!empty($groups)) {
+			// Make sure we init the Filesystem for the user, in case we need to
+			// init some group shares.
+			Filesystem::init($user->getUID(), '');
+		}
+
+		foreach ($groups as $groupName) {
 			$group = $this->groupManager->get($groupName);
 			if (!$group) {
 				$this->groupManager->createGroup($groupName);