diff --git a/src/QUI/Memberships/Cron.php b/src/QUI/Memberships/Cron.php
index a8873e12836d3deed73513c525114bd8a56825b3..8eeb2adc8f2415efe420eb0a9abdfd13f86123d9 100644
--- a/src/QUI/Memberships/Cron.php
+++ b/src/QUI/Memberships/Cron.php
@@ -94,6 +94,10 @@ public static function checkMembershipUsers()
                     }
                 }
 
+                if ($MembershipUser->getId() == 84) {
+                    \QUI\System\Log::writeRecursive(1);
+                }
+
                 // extend if membership is extended automatically
                 if ($Membership->isAutoExtend()) {
                     // Only extend if not extended by contract
diff --git a/src/QUI/Memberships/Events.php b/src/QUI/Memberships/Events.php
index a8c6976f8bcb3f6c977f01528eec3aba79bed784..6555042afb8d31a68c792f9656a4c2672e7b4e56 100644
--- a/src/QUI/Memberships/Events.php
+++ b/src/QUI/Memberships/Events.php
@@ -332,7 +332,13 @@ public static function onQuiqqerContractsExtend(Contract $Contract, \DateTime $E
             try {
                 /** @var QUI\Memberships\Users\MembershipUser $MembershipUser */
                 $MembershipUser = $MembershipUsers->getChild($row['id']);
-                $MembershipUser->extend();
+
+                // Calculate new cylce begin date
+                $NextBeginDate = clone $EndDate;
+                $NextBeginDate->add(\date_interval_create_from_date_string('1 day'));
+                $NextBeginDate->setTime(0, 0, 0);
+
+                $MembershipUser->extend(true, $NextBeginDate, $NewEndDate);
             } catch (\Exception $Exception) {
                 QUI\System\Log::writeException($Exception);
             }
diff --git a/src/QUI/Memberships/Users/MembershipUser.php b/src/QUI/Memberships/Users/MembershipUser.php
index b67190ceb98679be08b7c7fb98d5c48bbb714b10..4a6e506ac4bf47b3b053571c509cd6b5321f5eb9 100644
--- a/src/QUI/Memberships/Users/MembershipUser.php
+++ b/src/QUI/Memberships/Users/MembershipUser.php
@@ -113,14 +113,21 @@ public function update()
      *
      * @param bool $auto (optional) - Used if the membership is automatically extended.
      * If set to false, the setting membershipusers.extendMode is used [default: true]
+     * @param \DateTime $NextBeginDate (optional) - New cycle begin date
+     * @param \DateTime $NextEndDate (optional) - New cycle end date
      * @return void
      * @throws QUI\Exception
      */
-    public function extend($auto = true)
+    public function extend($auto = true, \DateTime $NextBeginDate = null, \DateTime $NextEndDate = null)
     {
         // Calculate new start and/or end time
-        $NextBeginDate = $this->getNextCycleBeginDate();
-        $NextEndDate   = $this->getNextCycleEndDate();
+        if (empty($NextBeginDate)) {
+            $NextBeginDate = $this->getNextCycleBeginDate();
+        }
+
+        if (empty($NextEndDate)) {
+            $NextEndDate = $this->getNextCycleEndDate();
+        }
 
         if ($auto) {
             $extendCounter = $this->getAttribute('extendCounter');