diff --git a/application/modules/courses/models/CourseModel.php b/application/modules/courses/models/CourseModel.php
index ec7a1416d01825a250986a8b086acb11bf6aa9b6..7091c88ab5665d01fa4fac587b7add8b1797af63 100644
--- a/application/modules/courses/models/CourseModel.php
+++ b/application/modules/courses/models/CourseModel.php
@@ -561,10 +561,10 @@ class Courses_CourseModel extends Unl_Model
             $select->where('g.removed = "no"');
         }
         $select->where('g.type = "official"');
-        if ($criteria['college']) {
+        if ($criteria['college'] && !$criteria['department'] && !$criteria['subject']) {
             $select->where('l.collegeId = ?', $criteria['college']);
         }
-        if ($criteria['department']) {
+        if ($criteria['department'] && !$criteria['subject']) {
             $select->where('d.departmentId = ?', $criteria['department']);
         }
         if ($criteria['subject']) {