diff --git a/main/inc/ajax/course.ajax.php b/main/inc/ajax/course.ajax.php
index 53743ddc8d..a659a9f0e1 100644
--- a/main/inc/ajax/course.ajax.php
+++ b/main/inc/ajax/course.ajax.php
@@ -116,6 +116,37 @@ switch ($action) {
             }
         }
         break;
+    case 'search_user_by_course':
+        if (api_is_platform_admin())
+        {
+            $user                   = Database :: get_main_table(TABLE_MAIN_USER);
+            $session_course_user    = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
+
+            $course = api_get_course_info_by_id($_GET['course_id']);
+
+            $sql = "SELECT u.user_id as id, u.username, u.lastname, u.firstname 
+                    FROM $user u
+                    INNER JOIN $session_course_user r ON u.user_id = r.id_user
+                    WHERE id_session = %d AND course_code =  '%s'
+                    AND (u.firstname LIKE '%s' OR u.username LIKE '%s' OR u.lastname LIKE '%s')";
+            $needle = '%' . $_GET['q'] . '%';
+            $sql_query = sprintf($sql, $_GET['session_id'], $course['code'], $needle, $needle, $needle);
+
+            $result = Database::query($sql_query);
+            while ($user = Database::fetch_assoc($result)) 
+            {
+                $data[] = array('id' => $user['id'], 'text' => $user['username'] );
+
+            }
+            if (!empty($data)) 
+            {
+                echo json_encode($data);
+            } else
+            {
+                echo json_encode(array());
+            }
+        }
+        break;
     default:
         echo '';
 }
diff --git a/main/inc/lib/sessionmanager.lib.php b/main/inc/lib/sessionmanager.lib.php
index a1fb89bec8..b0dfb1ff42 100644
--- a/main/inc/lib/sessionmanager.lib.php
+++ b/main/inc/lib/sessionmanager.lib.php
@@ -1018,7 +1018,7 @@ class SessionManager
             INNER JOIN $user u ON a.user_id = u.user_id
             INNER JOIN $course c ON a.course_code = c.code
             $where $order $limit";
-            error_log($sql);
+            
         $result = Database::query(sprintf($sql, $sessionId, $courseId));
 
         $clicks = Tracking::get_total_clicks_by_session();
diff --git a/main/mySpace/index.php b/main/mySpace/index.php
index 6bf86da3eb..41487a65d5 100644
--- a/main/mySpace/index.php
+++ b/main/mySpace/index.php
@@ -603,7 +603,7 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
 	echo '
';
 
     if ($is_platform_admin && $view == 'admin' && in_array($display, array('accessoverview','lpprogressoverview', 'progressoverview', 'exerciseprogress'))) {
-    // Create a filter by session
+        //Session Filter
         $sessionFilter = new FormValidator('session_filter', 'get', '', '', array('class'=> 'form-search'), false);
         $url = api_get_path(WEB_AJAX_PATH).'session.ajax.php?a=search_session';
         $sessionList = array();
@@ -627,18 +627,17 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
             });
         });
         ';
-        switch ($display) 
-        {   
-            case 'accessoverview':
-            case 'lpprogressoverview':
+        //Course filter
+        if (in_array($display, array('accessoverview', 'lpprogressoverview')))
+        {
                 $courseFilter = new FormValidator('course_filter', 'get', '', '', array('class'=> 'form-search'), false);
                 $url = api_get_path(WEB_AJAX_PATH).'course.ajax.php?a=search_course_by_session&session_id=' . $_GET['session_id'];
                 $courseList = array();
                 $courseId = isset($_GET['course_id']) ? $_GET['course_id'] : null;
                 if (!empty($courseId)) {
                     $courseList = array();
-                    $sessionInfo = api_get_course_info_by_id($courseId);
-                    $courseList[] = array('id' => $sessionInfo['id'], 'text' => $sessionInfo['name']);
+                    $courseInfo = api_get_course_info_by_id($courseId);
+                    $courseList[] = array('id' => $courseInfo['real_id'], 'text' => $courseInfo['name']);
                 }
                 $courseFilter->addElement('select_ajax', 'course_name', get_lang('SearchCourse'), null, array('url' => $url, 'defaults' => $courseList));
                 $courseListUrl = api_get_self();
@@ -655,9 +654,36 @@ if ($is_platform_admin && in_array($view, array('admin')) && $display != 'yourst
                         });
                     });
                 ';
-                break;
-            default:
-                break;
+        }
+        //Student Filter
+        if (in_array($display, array('accessoverview')))
+        {
+                $studentFilter = new FormValidator('student_filter', 'get', '', '', array('class'=> 'form-search'), false);
+                $url = api_get_path(WEB_AJAX_PATH).'course.ajax.php?a=search_user_by_course&session_id=' . $_GET['session_id'] . '&course_id=' . $_GET['course_id'];
+                $studentList = array();
+                $studentId = isset($_GET['student_id']) ? $_GET['student_id'] : null;
+                if (!empty($studentId)) {
+                    $studentList = array();
+                    $studentInfo = UserManager::get_user_info_by_id($studentId);
+                    $studentList[] = array('id' => $studentInfo['id'], 'text' => $studentInfo['username']);
+                }
+                $studentFilter->addElement('select_ajax', 'student_name', get_lang('SearchStudent'), null, array('url' => $url, 'defaults' => $studentList));
+                $courseListUrl = api_get_self();
+
+                echo '