diff --git a/application/modules/courses/controllers/PublicViewController.php b/application/modules/courses/controllers/PublicViewController.php
index f08ce801ea281d489252399e0bc5f63d48a1b588..b4d0d82f09cf0ecab02a95de07874e07992eea91 100644
--- a/application/modules/courses/controllers/PublicViewController.php
+++ b/application/modules/courses/controllers/PublicViewController.php
@@ -51,6 +51,9 @@ class Courses_PublicViewController extends App_Controller_Action {
                     if ($crosslisting['courseLetter']) {
                         $courseCodeNode->appendChild($dom->createElement('courseLetter', $crosslisting['courseLetter']));
                     }
+                    if ($crosslisting['courseGroup']) {
+                        $courseCodeNode->appendChild($dom->createElement('courseGroup', $crosslisting['courseGroup']));
+                    }
                 }
             } else {
                 continue;
@@ -287,15 +290,15 @@ class Courses_PublicViewController extends App_Controller_Action {
                 $aceCepText .= '(ACE ';
                 $aceOutcomeList = array();
                 foreach ($course->getAceOutcomes() as $aceOutcome) {
-                    $aceOutcomeList[] = substr($aceOutcome['slo'], 3); 
+                    $aceOutcomeList[] = substr($aceOutcome['slo'], 3);
                 }
                 $aceCepText .= implode(', ', $aceOutcomeList) . ')';
             }
             if ($course->isEssentialStudies()) {
-                $aceCepText .= '[ES]'; 
+                $aceCepText .= '[ES]';
             }
             if ($course->isIntegratedStudies()) {
-                $aceCepText .= '[IS]'; 
+                $aceCepText .= '[IS]';
             }
         
             $title = $course->getTitle();
diff --git a/application/modules/courses/models/CourseModel.php b/application/modules/courses/models/CourseModel.php
index c0820444f37e341134fde9c0f9c48d8aaabf763e..316396e0448520e82461d4c203249f6ef0dff7bd 100644
--- a/application/modules/courses/models/CourseModel.php
+++ b/application/modules/courses/models/CourseModel.php
@@ -152,6 +152,7 @@ class Courses_CourseModel extends Unl_Model
         $select = new Zend_Db_Select($db);
         $select->from(array('x' => 'creqCourseCrosslistings'), array('courseCrosslistingId', 'generation', 'type'));
         $select->join(array('c' => 'creqCourseCodes'), 'x.courseCode = c.courseCodeId');
+        $select->joinLeft(array('u' => 'creqCourseGroups'), 'c.group = u.courseGroupId', array('courseGroup' => 'name'));
         $select->join(array('s' => 'creqSubjects'), 'c.subject = s.name', array());
         $select->join(array('d' => 'creqDepartments'), 's.department = d.departmentId', array('department' => 'name'));
         $select->join(array('cl' => 'creqColleges'), 'd.college = cl.collegeId', array('college' => 'name', 'collegeLong' => 'description'));
diff --git a/document_root/schema/courses.xsd b/document_root/schema/courses.xsd
index 106c3e0bd522bad8d51f7e008fe60d85f9c833e7..f11207cf3a2bf245d19b147947ed9461ca8b227c 100644
--- a/document_root/schema/courses.xsd
+++ b/document_root/schema/courses.xsd
@@ -110,6 +110,7 @@
             <xs:element name="subject" type="xs:string" />
             <xs:element name="courseNumber" type="xs:positiveInteger" />
             <xs:element name="courseLetter" type="xs:string" minOccurs="0" />
+            <xs:element name="courseGroup" type="xs:string" minOccurs="0" />
         </xs:sequence>
         <xs:attribute name="type" type="courseCodeType" />
     </xs:complexType>