diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql
index c3049f0efa9bb2a7778a07d23e67056a5492150b..3bb192650ba7a044f610d190c8e9d20c083c21b9 100644
--- a/db/StoredProcedures.sql
+++ b/db/StoredProcedures.sql
@@ -197,7 +197,7 @@ END //
 
 
 DROP PROCEDURE IF EXISTS GetDepartments//
-CREATE PROCEDURE `GetDepartments`	( )
+CREATE PROCEDURE `GetDepartments`	( 	IN `FacultyID` INT )
     NO SQL
 BEGIN
 	SELECT 	departments.ID 		AS 'DepID',
@@ -206,7 +206,8 @@ BEGIN
 			faculties.Name   	AS 'FacultyName',
 			faculties.Abbr 		AS 'FacultyAbbr'
 	FROM `departments`
-	INNER JOIN `faculties` ON faculties.ID = departments.FacultyID;
+	INNER JOIN `faculties` ON faculties.ID = departments.FacultyID
+	WHERE departments.FacultyID = FacultyID;
 	
 END //
 
@@ -980,7 +981,9 @@ END //
 
 
 DROP PROCEDURE IF EXISTS GetDisciplineInfoByID//
-CREATE PROCEDURE `GetDisciplineInfoByID`(IN `DiscID` INT)
+CREATE PROCEDURE `GetDisciplineInfoByID`(	IN `DiscID` INT,
+											IN `DepID` INT,
+											IN `FacultyID` INT  )
     NO SQL
 BEGIN  
 
@@ -997,7 +1000,10 @@ BEGIN
 
 	FROM `disciplines`
 	INNER JOIN `subjects` ON subjects.ID = disciplines.SubjectID
-	WHERE disciplines.ID = DiscID;
+	INNER JOIN `departments` ON departments.ID = disciplines.DepartmentID
+	WHERE 	( DiscID = 0 OR disciplines.ID = DiscID) AND
+			( DepartmentID = 0 OR disciplines.DepartmentID = DepartmentID ) AND
+			( FacultyID = 0 OR departments.FacultyID = FacultyID);
 END //