diff --git a/apps/dav/js/settings-admin-caldav.js b/apps/dav/js/settings-admin-caldav.js
index ad30ba6ad37fdc880362cdcf61d33b8dd2590d4c..ba85df1e89ad09afd9a5122bc418733a39177106 100644
--- a/apps/dav/js/settings-admin-caldav.js
+++ b/apps/dav/js/settings-admin-caldav.js
@@ -41,4 +41,13 @@ $('#caldavSendRemindersNotifications').change(function() {
 	var val = $(this)[0].checked;
 
 	OCP.AppConfig.setValue('dav', 'sendEventReminders', val ? 'yes' : 'no');
+
+	$('#caldavSendRemindersNotificationsPush').prop('disabled', !val)
+});
+
+$('#caldavSendRemindersNotificationsPush').change(function() {
+	var val = $(this)[0].checked;
+
+	OCP.AppConfig.setValue('dav', 'sendEventRemindersPush', val ? 'yes' : 'no');
 });
+
diff --git a/apps/dav/lib/CalDAV/Reminder/NotificationProvider/PushProvider.php b/apps/dav/lib/CalDAV/Reminder/NotificationProvider/PushProvider.php
index 3872b67e59684f8afff74fcc83d774836cc1fe74..6e9e7831865c1615eea9a9ebca3cf9f34a229edf 100644
--- a/apps/dav/lib/CalDAV/Reminder/NotificationProvider/PushProvider.php
+++ b/apps/dav/lib/CalDAV/Reminder/NotificationProvider/PushProvider.php
@@ -83,6 +83,10 @@ class PushProvider extends AbstractProvider {
 	public function send(VEvent $vevent,
 						 string $calendarDisplayName=null,
 						 array $users=[]):void {
+		if ($this->config->getAppValue('dav', 'sendEventRemindersPush', 'no') !== 'yes') {
+			return;
+		}
+
 		$eventDetails = $this->extractEventDetails($vevent);
 		$eventDetails['calendar_displayname'] = $calendarDisplayName;
 
diff --git a/apps/dav/lib/Settings/CalDAVSettings.php b/apps/dav/lib/Settings/CalDAVSettings.php
index 958c463b1d3baaa79c4cd654d7abc0f9ececfe19..8e9b2aae926db0b620c329b69b6157bc0381e3e4 100644
--- a/apps/dav/lib/Settings/CalDAVSettings.php
+++ b/apps/dav/lib/Settings/CalDAVSettings.php
@@ -49,6 +49,7 @@ class CalDAVSettings implements ISettings {
 			'send_invitations' => $this->config->getAppValue('dav', 'sendInvitations', 'yes'),
 			'generate_birthday_calendar' => $this->config->getAppValue('dav', 'generateBirthdayCalendar', 'yes'),
 			'send_reminders_notifications' => $this->config->getAppValue('dav', 'sendEventReminders', 'yes'),
+			'send_reminders_notifications_push' => $this->config->getAppValue('dav', 'sendEventRemindersPush', 'no'),
 		];
 
 		return new TemplateResponse('dav', 'settings-admin-caldav', $parameters);
diff --git a/apps/dav/templates/settings-admin-caldav.php b/apps/dav/templates/settings-admin-caldav.php
index ba55a88470296fd60c6480467ddcf89b56ae2005..4c53e6421a7c209fc99ef7ebe49ae5d2b86e6c6b 100644
--- a/apps/dav/templates/settings-admin-caldav.php
+++ b/apps/dav/templates/settings-admin-caldav.php
@@ -93,4 +93,10 @@ script('dav', [
 		<br>
 		<em><?php p($l->t('Notifications will be send through background jobs, so these need to happen often enough.')); ?></em>
 	</p>
+	<p>
+		<input type="checkbox" name="caldav_send_reminders_notifications_push" id="caldavSendRemindersNotificationsPush" class="checkbox"
+			<?php ($_['send_reminders_notifications_push'] === 'yes') ? print_unescaped('checked="checked"') : null ?>
+			<?php ($_['send_reminders_notifications'] === 'yes') ? null : print_unescaped('disabled="disabled"') ?> />
+		<label for="caldavSendRemindersNotificationsPush"><?php p($l->t('Enable notifications for events via push')); ?></label>
+	</p>
 </form>
diff --git a/apps/dav/tests/unit/CalDAV/Reminder/NotificationProvider/PushProviderTest.php b/apps/dav/tests/unit/CalDAV/Reminder/NotificationProvider/PushProviderTest.php
index bbf71837b085e7a6edfa90aeb7bcca5d4a70854f..8bd4a660dc46187bfe27522271bc3dff76253bdc 100644
--- a/apps/dav/tests/unit/CalDAV/Reminder/NotificationProvider/PushProviderTest.php
+++ b/apps/dav/tests/unit/CalDAV/Reminder/NotificationProvider/PushProviderTest.php
@@ -63,6 +63,7 @@ class PushProviderTest extends AbstractNotificationProviderTest {
     public function setUp() {
         parent::setUp();
 
+        $this->config = $this->createMock(IConfig::class);
         $this->manager = $this->createMock(IManager::class);
         $this->timeFactory = $this->createMock(ITimeFactory::class);
 
@@ -80,7 +81,38 @@ class PushProviderTest extends AbstractNotificationProviderTest {
     	$this->assertEquals(PushProvider::NOTIFICATION_TYPE, 'DISPLAY');
 	}
 
+	public function testNotSend(): void {
+		$this->config->expects($this->once())
+			->method('getAppValue')
+			->with('dav', 'sendEventRemindersPush', 'no')
+			->willReturn('no');
+
+		$this->manager->expects($this->never())
+			->method('createNotification');
+		$this->manager->expects($this->never())
+			->method('notify');
+
+		$user1 = $this->createMock(IUser::class);
+		$user1->method('getUID')
+			->willReturn('uid1');
+		$user2 = $this->createMock(IUser::class);
+		$user2->method('getUID')
+			->willReturn('uid2');
+		$user3 = $this->createMock(IUser::class);
+		$user3->method('getUID')
+			->willReturn('uid3');
+
+		$users = [$user1, $user2, $user3];
+
+		$this->provider->send($this->vcalendar->VEVENT, $this->calendarDisplayName, $users);
+	}
+
     public function testSend(): void {
+    	$this->config->expects($this->once())
+			->method('getAppValue')
+			->with('dav', 'sendEventRemindersPush', 'no')
+			->willReturn('yes');
+
     	$user1 = $this->createMock(IUser::class);
     	$user1->method('getUID')
 			->willReturn('uid1');