diff --git a/apps/settings/lib/Controller/UsersController.php b/apps/settings/lib/Controller/UsersController.php
index cd34dd7266f58b2a3a9a85559a2fe5c59cd2f0b0..81de105eabbd3002de3c3de18967a57bf58765d2 100644
--- a/apps/settings/lib/Controller/UsersController.php
+++ b/apps/settings/lib/Controller/UsersController.php
@@ -42,6 +42,7 @@ use OC\AppFramework\Http;
 use OC\Encryption\Exceptions\ModuleDoesNotExistsException;
 use OC\ForbiddenException;
 use OC\Group\Manager as GroupManager;
+use OC\KnownUser\KnownUserService;
 use OC\L10N\Factory;
 use OC\Security\IdentityProof\Manager;
 use OC\User\Manager as UserManager;
@@ -96,6 +97,8 @@ class UsersController extends Controller {
 	private $jobList;
 	/** @var IManager */
 	private $encryptionManager;
+	/** @var KnownUserService */
+	private $knownUserService;
 	/** @var IEventDispatcher */
 	private $dispatcher;
 
@@ -116,6 +119,7 @@ class UsersController extends Controller {
 		Manager $keyManager,
 		IJobList $jobList,
 		IManager $encryptionManager,
+		KnownUserService $knownUserService,
 		IEventDispatcher $dispatcher
 	) {
 		parent::__construct($appName, $request);
@@ -132,6 +136,7 @@ class UsersController extends Controller {
 		$this->keyManager = $keyManager;
 		$this->jobList = $jobList;
 		$this->encryptionManager = $encryptionManager;
+		$this->knownUserService = $knownUserService;
 		$this->dispatcher = $dispatcher;
 	}
 
@@ -363,6 +368,19 @@ class UsersController extends Controller {
 									?string $twitter = null,
 									?string $twitterScope = null
 	) {
+		$user = $this->userSession->getUser();
+		if (!$user instanceof IUser) {
+			return new DataResponse(
+				[
+					'status' => 'error',
+					'data' => [
+						'message' => $this->l10n->t('Invalid user')
+					]
+				],
+				Http::STATUS_UNAUTHORIZED
+			);
+		}
+
 		$email = strtolower($email);
 		if (!empty($email) && !$this->mailer->validateMailAddress($email)) {
 			return new DataResponse(
@@ -375,8 +393,9 @@ class UsersController extends Controller {
 				Http::STATUS_UNPROCESSABLE_ENTITY
 			);
 		}
-		$user = $this->userSession->getUser();
+
 		$data = $this->accountManager->getUser($user);
+		$beforeData = $data;
 		$data[IAccountManager::PROPERTY_AVATAR] = ['scope' => $avatarScope];
 		if ($this->config->getSystemValue('allow_user_to_change_display_name', true) !== false) {
 			$data[IAccountManager::PROPERTY_DISPLAYNAME] = ['value' => $displayname, 'scope' => $displaynameScope];
@@ -393,6 +412,9 @@ class UsersController extends Controller {
 		}
 		try {
 			$data = $this->saveUserSettings($user, $data);
+			if ($beforeData[IAccountManager::PROPERTY_PHONE]['value'] !== $data[IAccountManager::PROPERTY_PHONE]['value']) {
+				$this->knownUserService->deleteKnownUser($user->getUID());
+			}
 			return new DataResponse(
 				[
 					'status' => 'success',
diff --git a/apps/settings/tests/Controller/UsersControllerTest.php b/apps/settings/tests/Controller/UsersControllerTest.php
index 1a9af2ea8c9b5bae0c63dd57925f9f918edbc556..b14e8d00d60bd2397da67dc16c1fe7fb752bbef9 100644
--- a/apps/settings/tests/Controller/UsersControllerTest.php
+++ b/apps/settings/tests/Controller/UsersControllerTest.php
@@ -32,6 +32,7 @@ namespace OCA\Settings\Tests\Controller;
 use OC\Accounts\AccountManager;
 use OC\Encryption\Exceptions\ModuleDoesNotExistsException;
 use OC\Group\Manager;
+use OC\KnownUser\KnownUserService;
 use OCA\Settings\Controller\UsersController;
 use OCP\Accounts\IAccountManager;
 use OCP\App\IAppManager;
@@ -91,6 +92,8 @@ class UsersControllerTest extends \Test\TestCase {
 	private $securityManager;
 	/** @var  IManager | \PHPUnit\Framework\MockObject\MockObject */
 	private $encryptionManager;
+	/** @var KnownUserService|\PHPUnit\Framework\MockObject\MockObject */
+	private $knownUserService;
 	/** @var  IEncryptionModule  | \PHPUnit\Framework\MockObject\MockObject */
 	private $encryptionModule;
 	/** @var IEventDispatcher|\PHPUnit\Framework\MockObject\MockObject */
@@ -111,6 +114,7 @@ class UsersControllerTest extends \Test\TestCase {
 		$this->securityManager = $this->getMockBuilder(\OC\Security\IdentityProof\Manager::class)->disableOriginalConstructor()->getMock();
 		$this->jobList = $this->createMock(IJobList::class);
 		$this->encryptionManager = $this->createMock(IManager::class);
+		$this->knownUserService = $this->createMock(KnownUserService::class);
 		$this->dispatcher = $this->createMock(IEventDispatcher::class);
 
 		$this->l->method('t')
@@ -147,6 +151,7 @@ class UsersControllerTest extends \Test\TestCase {
 				$this->securityManager,
 				$this->jobList,
 				$this->encryptionManager,
+				$this->knownUserService,
 				$this->dispatcher
 			);
 		} else {
@@ -168,6 +173,7 @@ class UsersControllerTest extends \Test\TestCase {
 						$this->securityManager,
 						$this->jobList,
 						$this->encryptionManager,
+						$this->knownUserService,
 						$this->dispatcher
 					]
 				)->setMethods($mockedMethods)->getMock();