diff --git a/apps/updatenotification/lib/Settings/Admin.php b/apps/updatenotification/lib/Settings/Admin.php
index cae62ee0a9f2e16028db164d303385623f212e4c..897b2555ad74c27a4e023cf715076b4d01fbb1d9 100644
--- a/apps/updatenotification/lib/Settings/Admin.php
+++ b/apps/updatenotification/lib/Settings/Admin.php
@@ -127,7 +127,8 @@ class Admin implements ISettings {
 		do {
 			$lang = $iterator->current();
 			if(isset($changes['whatsNew'][$lang])) {
-				return $filtered['whatsNew'][$lang];
+				$filtered['whatsNew'] = $changes['whatsNew'][$lang];
+				return $filtered;
 			}
 			$iterator->next();
 		} while($lang !== 'en' && $iterator->valid());
diff --git a/apps/updatenotification/tests/Settings/AdminTest.php b/apps/updatenotification/tests/Settings/AdminTest.php
index d0d53226490c7187cdae611ccbb5c86cae764957..d1f44367a1cea59a531dff012b10efa64534bdf8 100644
--- a/apps/updatenotification/tests/Settings/AdminTest.php
+++ b/apps/updatenotification/tests/Settings/AdminTest.php
@@ -34,6 +34,7 @@ use OCP\IGroup;
 use OCP\IGroupManager;
 use OCP\IUserSession;
 use OCP\L10N\IFactory;
+use OCP\L10N\ILanguageIterator;
 use OCP\Util;
 use Test\TestCase;
 
@@ -153,4 +154,78 @@ class AdminTest extends TestCase {
 	public function testGetPriority() {
 		$this->assertSame(11, $this->admin->getPriority());
 	}
+
+	public function changesProvider() {
+		return [
+			[ #0, all info, en
+				[
+					'changelogURL' => 'https://go.to.changelog',
+					'whatsNew' => [
+						'en' => [
+							'regular' => ['content'],
+						],
+						'de' => [
+							'regular' => ['inhalt'],
+						]
+					],
+				],
+				'en',
+				[
+					'changelogURL' => 'https://go.to.changelog',
+					'whatsNew' => [
+						'regular' => ['content'],
+					],
+				]
+			],
+			[ #1, all info, de
+				[
+					'changelogURL' => 'https://go.to.changelog',
+					'whatsNew' => [
+						'en' => [
+							'regular' => ['content'],
+						],
+						'de' => [
+							'regular' => ['inhalt'],
+						]
+					],
+				],
+				'de',
+				[
+					'changelogURL' => 'https://go.to.changelog',
+					'whatsNew' => [
+						'regular' => ['inhalt'],
+					]
+				],
+			],
+			[ #2, just changelog
+				[ 'changelogURL' => 'https://go.to.changelog' ],
+				'en',
+				[ 'changelogURL' => 'https://go.to.changelog' ],
+			],
+			[ #3 nothing
+				[],
+				'ru',
+				[]
+			]
+		];
+	}
+
+	/**
+	 * @dataProvider changesProvider
+	 */
+	public function testFilterChanges($changes, $userLang, $expectation) {
+		$iterator = $this->createMock(ILanguageIterator::class);
+		$iterator->expects($this->any())
+			->method('current')
+			->willReturnOnConsecutiveCalls('es', $userLang, 'it', 'en');
+		$iterator->expects($this->any())
+			->method('valid')
+			->willReturn(true);
+
+		$this->l10nFactory->expects($this->atMost(1))
+			->method('getLanguageIterator')
+			->willReturn($iterator);
+		$result = $this->invokePrivate($this->admin, 'filterChanges', [$changes]);
+		$this->assertSame($expectation, $result);
+	}
 }