diff --git a/typo3/sysext/scheduler/Classes/Controller/SchedulerModuleController.php b/typo3/sysext/scheduler/Classes/Controller/SchedulerModuleController.php
index e026ac0ca4b28d72bc0fa84818311a2257c5d292..2ce86d04239257ab3673d62f899ba90770ea3356 100644
--- a/typo3/sysext/scheduler/Classes/Controller/SchedulerModuleController.php
+++ b/typo3/sysext/scheduler/Classes/Controller/SchedulerModuleController.php
@@ -403,7 +403,7 @@ class SchedulerModuleController
             'task_group' => (int)($parsedBody['task_group'] ?? 0),
             'type' => (int)($parsedBody['type'] ?? AbstractTask::TYPE_RECURRING),
             'start' => $parsedBody['start'] ?? $this->context->getAspect('date')->get('timestamp'),
-            'end' => $parsedBody['start'] ?? 0,
+            'end' => $parsedBody['end'] ?? 0,
             'frequency' => $parsedBody['frequency'] ?? '',
             'multiple' => (bool)($parsedBody['multiple'] ?? false),
             'description' => $parsedBody['description'] ?? '',
@@ -794,7 +794,7 @@ class SchedulerModuleController
                 $this->addMessage($view, $languageService->sL('LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:msg.invalidStartDate'), ContextualFeedbackSeverity::ERROR);
             }
         }
-        if ($type === AbstractTask::TYPE_RECURRING && $endTime < $startTime) {
+        if ($type === AbstractTask::TYPE_RECURRING && $endTime > 0 && $endTime < $startTime) {
             $result = false;
             $this->addMessage($view, $languageService->sL('LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:msg.endDateSmallerThanStartDate'), ContextualFeedbackSeverity::ERROR);
         }
diff --git a/typo3/sysext/scheduler/Resources/Private/Partials/AddEditStartEndFields.html b/typo3/sysext/scheduler/Resources/Private/Partials/AddEditStartEndFields.html
index 762a0128f846fb3e7865da2fff501721aa5f67bc..6a1004fae30078762357001469fd1c290f97eca8 100644
--- a/typo3/sysext/scheduler/Resources/Private/Partials/AddEditStartEndFields.html
+++ b/typo3/sysext/scheduler/Resources/Private/Partials/AddEditStartEndFields.html
@@ -24,7 +24,7 @@
             <label for="tceforms-datetimefield-task_end_row"><f:translate key="LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:label.end"/></label>
             <div class="form-control-wrap">
                 <div class="input-group" id="tceforms-datetimefield-task_end_row-wrapper">
-                    <f:variable name="formattedEnd"><f:if condition="{currentData.end} != 0"><f:then>{f:format.date(format:'H:i d-m-Y', date:currentData.end)}</f:then><f:else></f:else></f:if></f:variable>
+                    <f:variable name="formattedEnd"><f:if condition="{currentData.end}"><f:then>{f:format.date(format:'H:i d-m-Y', date:currentData.end)}</f:then><f:else></f:else></f:if></f:variable>
                     <input
                         name="tx_scheduler[end]_hr"
                         value="{formattedEnd}"