diff --git a/app/controllers/my_courses.php b/app/controllers/my_courses.php
index 4892d54043c623af2ade08dc3198b72a674767e3..21cde0e1fdb9cc69e6b69aa9ff033a7d6c4c61cf 100644
--- a/app/controllers/my_courses.php
+++ b/app/controllers/my_courses.php
@@ -561,6 +561,9 @@ class MyCoursesController extends AuthenticatedController
                     // enable others to do something after the user has been deleted
                     NotificationCenter::postNotification('UserDidLeaveCourse', $course_id, $GLOBALS['user']->id);
 
+                    // Delete course related datafield entries
+                    DatafieldEntryModel::deleteBySQL('range_id = ? AND sec_range_id = ?', [$GLOBALS['user']->id, $course_id]);
+
                     // Delete from statusgroups
                     foreach (Statusgruppen::findBySeminar_id($course_id) as $group) {
                         $group->removeUser($GLOBALS['user']->id, true);
diff --git a/lib/classes/Seminar.class.php b/lib/classes/Seminar.class.php
index 099f1518e11c02aea03446c2e464a33eeb340c8f..337eea6fe65cc64376e998df28c8ed78c5c85402 100644
--- a/lib/classes/Seminar.class.php
+++ b/lib/classes/Seminar.class.php
@@ -2048,6 +2048,9 @@ class Seminar
                 }
             }
 
+            // Delete course related datafield entries
+            DatafieldEntryModel::deleteBySQL('range_id = ? AND sec_range_id = ?', [$user_id, $this->id]);
+
             // Remove from associated status groups
             foreach (Statusgruppen::findBySeminar_id($this->id) as $group) {
                 $group->removeUser($user_id, true);