diff --git a/apps/settings/lib/Controller/AuthSettingsController.php b/apps/settings/lib/Controller/AuthSettingsController.php
index c7099f284992bfc01c165ce900e8e9657af85be7..13815f95c50f88823dd28a8e74750e807f996c16 100644
--- a/apps/settings/lib/Controller/AuthSettingsController.php
+++ b/apps/settings/lib/Controller/AuthSettingsController.php
@@ -114,7 +114,7 @@ class AuthSettingsController extends Controller {
 
 	/**
 	 * @NoAdminRequired
-	 * @NoSubadminRequired
+	 * @NoSubAdminRequired
 	 * @PasswordConfirmationRequired
 	 *
 	 * @param string $name
@@ -183,7 +183,7 @@ class AuthSettingsController extends Controller {
 
 	/**
 	 * @NoAdminRequired
-	 * @NoSubadminRequired
+	 * @NoSubAdminRequired
 	 *
 	 * @param int $id
 	 * @return array|JSONResponse
@@ -205,7 +205,7 @@ class AuthSettingsController extends Controller {
 
 	/**
 	 * @NoAdminRequired
-	 * @NoSubadminRequired
+	 * @NoSubAdminRequired
 	 *
 	 * @param int $id
 	 * @param array $scope
@@ -278,7 +278,7 @@ class AuthSettingsController extends Controller {
 
 	/**
 	 * @NoAdminRequired
-	 * @NoSubadminRequired
+	 * @NoSubAdminRequired
 	 * @PasswordConfirmationRequired
 	 *
 	 * @param int $id
diff --git a/apps/settings/lib/Controller/ChangePasswordController.php b/apps/settings/lib/Controller/ChangePasswordController.php
index e6567bf9043a6f54cfa575530b4ca3c7d024874f..3006e89318fce5ffe9e16b03002cb816ffc4a0f6 100644
--- a/apps/settings/lib/Controller/ChangePasswordController.php
+++ b/apps/settings/lib/Controller/ChangePasswordController.php
@@ -85,7 +85,7 @@ class ChangePasswordController extends Controller {
 
 	/**
 	 * @NoAdminRequired
-	 * @NoSubadminRequired
+	 * @NoSubAdminRequired
 	 * @BruteForceProtection(action=changePersonalPassword)
 	 */
 	public function changePersonalPassword(string $oldpassword = '', string $newpassword = null): JSONResponse {
diff --git a/apps/settings/lib/Controller/HelpController.php b/apps/settings/lib/Controller/HelpController.php
index 8ebfeb2d4ca4f61dd6ffaaa36e63288159e80595..d5f0aa28e6eff8f0dd7be806440c0bd16de70cb4 100644
--- a/apps/settings/lib/Controller/HelpController.php
+++ b/apps/settings/lib/Controller/HelpController.php
@@ -67,7 +67,7 @@ class HelpController extends Controller {
 	 *
 	 * @NoCSRFRequired
 	 * @NoAdminRequired
-	 * @NoSubadminRequired
+	 * @NoSubAdminRequired
 	 */
 	public function help(string $mode = 'user'): TemplateResponse {
 		$this->navigationManager->setActiveEntry('help');
diff --git a/apps/settings/lib/Controller/PersonalSettingsController.php b/apps/settings/lib/Controller/PersonalSettingsController.php
index 0aff8bee649304f91deaa74310ca27ea837580e9..37d19e0904dee3c5e6fe2af7c21f6f50247df95d 100644
--- a/apps/settings/lib/Controller/PersonalSettingsController.php
+++ b/apps/settings/lib/Controller/PersonalSettingsController.php
@@ -61,7 +61,7 @@ class PersonalSettingsController extends Controller {
 	 *
 	 * @NoCSRFRequired
 	 * @NoAdminRequired
-	 * @NoSubadminRequired
+	 * @NoSubAdminRequired
 	 */
 	public function index($section) {
 		return $this->getIndexResponse('personal', $section);
diff --git a/apps/settings/lib/Controller/UsersController.php b/apps/settings/lib/Controller/UsersController.php
index d6410810d804d1b70a0b78452253ff1e940c23b3..eab6c087d86261bc1ba3cb8d2cf77b0e768adb5e 100644
--- a/apps/settings/lib/Controller/UsersController.php
+++ b/apps/settings/lib/Controller/UsersController.php
@@ -311,7 +311,7 @@ class UsersController extends Controller {
 
 	/**
 	 * @NoAdminRequired
-	 * @NoSubadminRequired
+	 * @NoSubAdminRequired
 	 * @PasswordConfirmationRequired
 	 *
 	 * @param string $avatarScope
@@ -440,7 +440,7 @@ class UsersController extends Controller {
 	 * Set the mail address of a user
 	 *
 	 * @NoAdminRequired
-	 * @NoSubadminRequired
+	 * @NoSubAdminRequired
 	 * @PasswordConfirmationRequired
 	 *
 	 * @param string $account
diff --git a/apps/settings/lib/Controller/WebAuthnController.php b/apps/settings/lib/Controller/WebAuthnController.php
index db6fc303a056cf4fcd79710472b43dad307bcc8a..d6a61322be9274591031fc4cc820cd87438d7f23 100644
--- a/apps/settings/lib/Controller/WebAuthnController.php
+++ b/apps/settings/lib/Controller/WebAuthnController.php
@@ -65,7 +65,7 @@ class WebAuthnController extends Controller {
 
 	/**
 	 * @NoAdminRequired
-	 * @NoSubadminRequired
+	 * @NoSubAdminRequired
 	 * @PasswordConfirmationRequired
 	 * @UseSession
 	 * @NoCSRFRequired
@@ -83,7 +83,7 @@ class WebAuthnController extends Controller {
 
 	/**
 	 * @NoAdminRequired
-	 * @NoSubadminRequired
+	 * @NoSubAdminRequired
 	 * @PasswordConfirmationRequired
 	 * @UseSession
 	 */
@@ -105,7 +105,7 @@ class WebAuthnController extends Controller {
 
 	/**
 	 * @NoAdminRequired
-	 * @NoSubadminRequired
+	 * @NoSubAdminRequired
 	 * @PasswordConfirmationRequired
 	 */
 	public function deleteRegistration(int $id): JSONResponse {
diff --git a/apps/settings/lib/Middleware/SubadminMiddleware.php b/apps/settings/lib/Middleware/SubadminMiddleware.php
index 7fa30c8e26c079f63f48ed1d4423d930cc0dafa1..41020ab0a85b75c13034c55299d8978bc52552d8 100644
--- a/apps/settings/lib/Middleware/SubadminMiddleware.php
+++ b/apps/settings/lib/Middleware/SubadminMiddleware.php
@@ -35,7 +35,7 @@ use OCP\IL10N;
 
 /**
  * Verifies whether an user has at least subadmin rights.
- * To bypass use the `@NoSubadminRequired` annotation
+ * To bypass use the `@NoSubAdminRequired` annotation
  */
 class SubadminMiddleware extends Middleware {
 	/** @var bool */
@@ -65,7 +65,7 @@ class SubadminMiddleware extends Middleware {
 	 * @throws \Exception
 	 */
 	public function beforeController($controller, $methodName) {
-		if (!$this->reflector->hasAnnotation('NoSubadminRequired')) {
+		if (!$this->reflector->hasAnnotation('NoSubAdminRequired')) {
 			if (!$this->isSubAdmin) {
 				throw new NotAdminException($this->l10n->t('Logged in user must be a subadmin'));
 			}
diff --git a/apps/settings/tests/Middleware/SubadminMiddlewareTest.php b/apps/settings/tests/Middleware/SubadminMiddlewareTest.php
index ad68d3b615ea530e7e6984e1af9af5148c63bf6f..12d5cee714af4545f68117bcc5bf042ad51f2303 100644
--- a/apps/settings/tests/Middleware/SubadminMiddlewareTest.php
+++ b/apps/settings/tests/Middleware/SubadminMiddlewareTest.php
@@ -36,7 +36,7 @@ use OCP\IL10N;
 
 /**
  * Verifies whether an user has at least subadmin rights.
- * To bypass use the `@NoSubadminRequired` annotation
+ * To bypass use the `@NoSubAdminRequired` annotation
  *
  * @package Tests\Settings\Middleware
  */
@@ -64,14 +64,14 @@ class SubadminMiddlewareTest extends \Test\TestCase {
 		$this->subadminMiddleware = new SubadminMiddleware($this->reflector, false, $this->l10n);
 	}
 
-	
+
 	public function testBeforeControllerAsUserWithExemption() {
 		$this->expectException(\OC\AppFramework\Middleware\Security\Exceptions\NotAdminException::class);
 
 		$this->reflector
 			->expects($this->once())
 			->method('hasAnnotation')
-			->with('NoSubadminRequired')
+			->with('NoSubAdminRequired')
 			->willReturn(false);
 		$this->subadminMiddleware->beforeController($this->controller, 'foo');
 	}
@@ -81,7 +81,7 @@ class SubadminMiddlewareTest extends \Test\TestCase {
 		$this->reflector
 			->expects($this->once())
 			->method('hasAnnotation')
-			->with('NoSubadminRequired')
+			->with('NoSubAdminRequired')
 			->willReturn(true);
 		$this->subadminMiddleware->beforeController($this->controller, 'foo');
 	}
@@ -90,7 +90,7 @@ class SubadminMiddlewareTest extends \Test\TestCase {
 		$this->reflector
 			->expects($this->once())
 			->method('hasAnnotation')
-			->with('NoSubadminRequired')
+			->with('NoSubAdminRequired')
 			->willReturn(false);
 		$this->subadminMiddlewareAsSubAdmin->beforeController($this->controller, 'foo');
 	}
@@ -99,7 +99,7 @@ class SubadminMiddlewareTest extends \Test\TestCase {
 		$this->reflector
 			->expects($this->once())
 			->method('hasAnnotation')
-			->with('NoSubadminRequired')
+			->with('NoSubAdminRequired')
 			->willReturn(true);
 		$this->subadminMiddlewareAsSubAdmin->beforeController($this->controller, 'foo');
 	}
@@ -110,7 +110,7 @@ class SubadminMiddlewareTest extends \Test\TestCase {
 		$this->assertEquals($expectedResponse, $this->subadminMiddleware->afterException($this->controller, 'foo', new NotAdminException('')));
 	}
 
-	
+
 	public function testAfterRegularException() {
 		$this->expectException(\Exception::class);
 
diff --git a/lib/private/AppFramework/Utility/ControllerMethodReflector.php b/lib/private/AppFramework/Utility/ControllerMethodReflector.php
index 97957fb57335bde9109d78933c928f0a8a3c5c41..81ae74071209eedfac916348fa5e62991b0903d4 100644
--- a/lib/private/AppFramework/Utility/ControllerMethodReflector.php
+++ b/lib/private/AppFramework/Utility/ControllerMethodReflector.php
@@ -55,6 +55,7 @@ class ControllerMethodReflector implements IControllerMethodReflector {
 			// extract everything prefixed by @ and first letter uppercase
 			preg_match_all('/^\h+\*\h+@(?P<annotation>[A-Z]\w+)((?P<parameter>.*))?$/m', $docs, $matches);
 			foreach ($matches['annotation'] as $key => $annontation) {
+				$annontation = strtolower($annontation);
 				$annotationValue = $matches['parameter'][$key];
 				if (isset($annotationValue[0]) && $annotationValue[0] === '(' && $annotationValue[\strlen($annotationValue) - 1] === ')') {
 					$cutString = substr($annotationValue, 1, -1);
@@ -118,6 +119,7 @@ class ControllerMethodReflector implements IControllerMethodReflector {
 	 * @return bool true if the annotation is found
 	 */
 	public function hasAnnotation(string $name): bool {
+		$name = strtolower($name);
 		return array_key_exists($name, $this->annotations);
 	}
 
@@ -129,6 +131,7 @@ class ControllerMethodReflector implements IControllerMethodReflector {
 	 * @return string
 	 */
 	public function getAnnotationParameter(string $name, string $key): string {
+		$name = strtolower($name);
 		if (isset($this->annotations[$name][$key])) {
 			return $this->annotations[$name][$key];
 		}