diff --git a/lib/classes/SimpleORMapCollection.php b/lib/classes/SimpleORMapCollection.php
index 20162e5613d79903c845854761838f9b9a6e0b5f..f437084191a2fc3230b289e3abbbd01887a8d88a 100644
--- a/lib/classes/SimpleORMapCollection.php
+++ b/lib/classes/SimpleORMapCollection.php
@@ -234,7 +234,6 @@ class SimpleORMapCollection extends SimpleCollection
      */
     public function merge(SimpleCollection $a_collection, string $mode = 'ignore')
     {
-        $mode = func_get_arg(1);
         foreach ($a_collection as $element) {
             try {
                 /**
diff --git a/lib/models/Course.php b/lib/models/Course.php
index d7ffff7a956cb69c62f56dbf1066e5857c4e4c06..17c06ca382e5f7fc88fab3b2e8ec5056314f3f7c 100644
--- a/lib/models/Course.php
+++ b/lib/models/Course.php
@@ -1906,17 +1906,25 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe
      */
     public function getDatesWithExdates($range_begin = 0, $range_end = 0)
     {
-        $dates = [];
-        if (($range_begin > 0) && ($range_end > 0) && ($range_end > $range_begin)) {
-            $ex_dates = $this->ex_dates->findBy('content', '', '<>')
-                          ->findBy('date', $range_begin, '>=')
-                          ->findBy('end_time', $range_end, '<=');
-            $dates = $this->dates->findBy('date', $range_begin, '>=')
-                          ->findBy('end_time', $range_end, '<=');
-            $dates->merge($ex_dates);
+        $dates = SimpleCollection::createFromArray([]);
+        if (
+            $range_begin > 0
+            && $range_end > 0
+            && $range_end > $range_begin
+        ) {
+            $dates->merge(
+                $this->dates->findBy('date', $range_begin, '>=')
+                     ->findBy('end_time', $range_end, '<=')
+            );
+
+            $dates->merge(
+                $this->ex_dates->findBy('content', '', '<>')
+                     ->findBy('date', $range_begin, '>=')
+                     ->findBy('end_time', $range_end, '<=')
+            );
         } else {
-            $dates = $this->ex_dates->findBy('content', '', '<>');
             $dates->merge($this->dates);
+            $dates->merge($this->ex_dates->findBy('content', '', '<>'));
         }
         $dates->uasort(function($a, $b) {
             return $a->date - $b->date