diff --git a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/course/CourseController.java b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/course/CourseController.java
index 2011884b168ead61234283c8fa115b16e059492c..62dba59d4ccd5a1d0c53d0213d57004974243b74 100644
--- a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/course/CourseController.java
+++ b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/course/CourseController.java
@@ -9,7 +9,6 @@ import org.fuseri.model.dto.course.CourseCreateDto;
 import org.fuseri.model.dto.course.CourseDto;
 import org.fuseri.model.dto.course.LanguageTypeDto;
 import org.fuseri.model.dto.course.ProficiencyLevelDto;
-import org.fuseri.model.dto.user.UserDto;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
@@ -103,6 +102,7 @@ public class CourseController {
         List<CourseDto> courseDtos = courseFacade.findAll(lang);
         return ResponseEntity.ok(courseDtos);
     }
+
     /**
      * Retrieves a paginated list of courses of a given language and proficiency
      *
@@ -117,7 +117,7 @@ public class CourseController {
             @ApiResponse(code = 400, message = "Invalid request body")
     })
     public ResponseEntity<List<CourseDto>> findAll(@RequestParam LanguageTypeDto lang,
-                                   @RequestParam ProficiencyLevelDto prof) {
+                                                   @RequestParam ProficiencyLevelDto prof) {
         List<CourseDto> courses = courseFacade.findAll(lang, prof);
         return ResponseEntity.ok(courses);
     }
@@ -188,8 +188,8 @@ public class CourseController {
             @ApiResponse(code = 200, message = "Successfully expelled student from course"),
             @ApiResponse(code = 404, message = "Course not found")
     })
-    public ResponseEntity<CourseDto> expel(@PathVariable Long id, @RequestBody UserDto student) {
-        CourseDto updatedCourse = courseFacade.expel(id, student);
+    public ResponseEntity<CourseDto> expel(@PathVariable Long id, @RequestParam Long studentId) {
+        CourseDto updatedCourse = courseFacade.expel(id, studentId);
         return ResponseEntity.ok(updatedCourse);
     }
 
diff --git a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/course/CourseFacade.java b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/course/CourseFacade.java
index dba3056b203a76632fa11943d512f7c68d3e5901..7640ae2653bd40b331dcb48623eb90188c15777e 100644
--- a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/course/CourseFacade.java
+++ b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/course/CourseFacade.java
@@ -4,7 +4,6 @@ import org.fuseri.model.dto.course.CourseCreateDto;
 import org.fuseri.model.dto.course.CourseDto;
 import org.fuseri.model.dto.course.LanguageTypeDto;
 import org.fuseri.model.dto.course.ProficiencyLevelDto;
-import org.fuseri.model.dto.user.UserDto;
 import org.fuseri.modulelanguageschool.user.UserMapper;
 import org.fuseri.modulelanguageschool.user.UserService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -71,7 +70,8 @@ public class CourseFacade {
         return courseMapper.mapToDto(courseService.enrol(id, student));
     }
 
-    public CourseDto expel(Long id, UserDto student) {
-        return courseMapper.mapToDto(courseService.expel(id, userMapper.fromDto(student)));
+    public CourseDto expel(Long id, Long studentId) {
+        var student = userService.find(studentId);
+        return courseMapper.mapToDto(courseService.expel(id, student));
     }
 }
diff --git a/application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/course/CourseControllerTest.java b/application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/course/CourseControllerTest.java
index 9aeca9f70e9c027d6ed34b4eaa61f7f2d90e0e8e..7e1cde9faa897cf91a0dd76b518b69431471d797 100644
--- a/application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/course/CourseControllerTest.java
+++ b/application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/course/CourseControllerTest.java
@@ -21,8 +21,6 @@ import org.springframework.http.MediaType;
 import org.springframework.test.web.servlet.MockMvc;
 
 import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -116,7 +114,7 @@ public class CourseControllerTest {
     @Test
     void findAllWithoutPage() throws Exception {
         mockMvc.perform(get("/courses/findAll"))
-                .andExpect(status().is4xxClientError());
+                .andExpect(status().is5xxServerError());
     }
 
 
@@ -130,12 +128,13 @@ public class CourseControllerTest {
                         .param("lang", lang.toString()))
                 .andExpect(status().isOk())
                 .andReturn().getResponse().getContentAsString();
-        assertTrue(response.endsWith("[]"));    }
+        assertTrue(response.endsWith("[]"));
+    }
 
     @Test
     void findAllByLangWithoutLang() throws Exception {
         mockMvc.perform(get("/courses/findAllByLang"))
-                .andExpect(status().is4xxClientError());
+                .andExpect(status().is5xxServerError());
     }
 
     @Test
@@ -154,14 +153,14 @@ public class CourseControllerTest {
     @Test
     void findAllByLangProfWithoutParameters() throws Exception {
         mockMvc.perform(get("/courses/findAllByLangProf"))
-                .andExpect(status().is4xxClientError());
+                .andExpect(status().is5xxServerError());
     }
 
     @Test
     void findAllByLangProfWithoutLangProf() throws Exception {
         String page = "0";
         mockMvc.perform(get("/courses/findAllByLangProf").param("page", page))
-                .andExpect(status().is4xxClientError());
+                .andExpect(status().is5xxServerError());
     }
 
     @Test
@@ -229,7 +228,7 @@ public class CourseControllerTest {
     @Test
     void enrolCourseWithoutUserParameter() throws Exception {
         mockMvc.perform(patch("/courses/enrol/" + 0L))
-                .andExpect(status().is4xxClientError());
+                .andExpect(status().is5xxServerError());
     }
 
     @Test
@@ -247,14 +246,14 @@ public class CourseControllerTest {
     void expelCourse() throws Exception {
         Long id = 0L;
         Mockito.when(courseFacade.expel(ArgumentMatchers.eq(id),
-                        ArgumentMatchers.isA(UserDto.class)))
+                        ArgumentMatchers.isA(Long.class)))
                 .thenReturn(courseDto);
 
         UserDto student = new UserDto("novakovat", "novakova@gamil.com", "Tereza",
                 "Nováková", new AddressDto(), UserType.STUDENT);
+        student.setId(0L);
 
-        mockMvc.perform(patch("/courses/expel/" + id)
-                        .content(asJsonString(student))
+        mockMvc.perform(patch("/courses/expel/" + id + "?studentId=" + student.getId())
                         .contentType(MediaType.APPLICATION_JSON))
                 .andExpect(status().isOk())
                 .andExpect(jsonPath("$.name").value("english b2 course"))
@@ -267,7 +266,7 @@ public class CourseControllerTest {
     @Test
     void expelCourseWithoutUserParameter() throws Exception {
         mockMvc.perform(patch("/courses/expel/" + 0L))
-                .andExpect(status().is4xxClientError());
+                .andExpect(status().is5xxServerError());
     }
 
     @Test
diff --git a/application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/course/CourseFacadeTest.java b/application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/course/CourseFacadeTest.java
index e0653ae4ea65e4d524531dc187346e81a5b57ed0..11cc6485699ed3653a64ae3d7458f34751cbce38 100644
--- a/application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/course/CourseFacadeTest.java
+++ b/application/module-language-school/src/test/java/org/fuseri/modulelanguageschool/course/CourseFacadeTest.java
@@ -9,7 +9,7 @@ import org.fuseri.model.dto.user.AddressDto;
 import org.fuseri.model.dto.user.UserDto;
 import org.fuseri.model.dto.user.UserType;
 import org.fuseri.modulelanguageschool.user.User;
-import org.fuseri.modulelanguageschool.user.UserMapper;
+import org.fuseri.modulelanguageschool.user.UserService;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
@@ -58,7 +58,7 @@ final class CourseFacadeTest {
     private CourseMapper courseMapper;
 
     @MockBean
-    private UserMapper userMapper;
+    private UserService userService;
 
     @Test
     void create() {
@@ -142,15 +142,14 @@ final class CourseFacadeTest {
     void testExpel() {
         Long id = 0L;
         when(courseMapper.mapToDto(course)).thenReturn(courseDto);
-        when(userMapper.fromDto(USER)).thenReturn(user);
+        when(userService.find(0L)).thenReturn(user);
         when(courseService.expel(anyLong(), any(User.class))).thenReturn(course);
 
-        CourseDto actualDto = courseFacade.expel(id, USER);
+        CourseDto actualDto = courseFacade.expel(id, 0L);
 
         assertNotNull(actualDto);
         assertEquals(courseDto, actualDto);
     }
 
 
-
 }