diff --git a/db/stored/functions.sql b/db/stored/functions.sql
index c01515d5c266592740cd0a08df51bd3a3a0bce34..301b1b1af295cc9f6a7a583e9ba7f5a2c198695d 100644
--- a/db/stored/functions.sql
+++ b/db/stored/functions.sql
@@ -767,6 +767,26 @@ BEGIN
     RETURN ROW_COUNT()-1;
 END //
 
+DROP FUNCTION IF EXISTS RemoveFromGroupInSemester//
+CREATE FUNCTION `RemoveFromGroupInSemester` (
+        `pStudentID` INT,
+        `pGroupID` INT,
+        `pSemesterID` INT
+    ) RETURNS int(11)
+    NO SQL
+BEGIN
+    DECLARE vChecker INT DEFAULT 0;
+    DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -1;
+
+    DELETE FROM `students_groups`
+        WHERE   students_groups.GroupID = pGroupID
+                and students_groups.StudentID = pStudentID
+                and students_groups.SemesterID = pSemesterID
+                and students_groups.State = 'common'
+        LIMIT 1;
+    RETURN ROW_COUNT()-1;
+END //
+
 
 # -------------------------------------------------------------------------------------------
 # Label: disciplines