Index: main/waeup.aaue/trunk/src/waeup/aaue/locales/en/LC_MESSAGES/waeup.kofa.po
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/locales/en/LC_MESSAGES/waeup.kofa.po	(revision 14528)
+++ main/waeup.aaue/trunk/src/waeup/aaue/locales/en/LC_MESSAGES/waeup.kofa.po	(revision 14532)
@@ -160,12 +160,12 @@
 msgstr "Name (Surname First)"
 
-msgid "Total Credits Registered"
-msgstr "Total Units Registered"
+msgid "Total Credits Taken"
+msgstr "Total Units Taken"
 
 msgid "Total Credits Passed"
 msgstr "Total Units Passed"
 
-msgid "Cum. Credits Registered"
-msgstr "Cum. Units Registered"
+msgid "Cum. Credits Taken"
+msgstr "Cum. Units Taken"
 
 msgid "Cum. Credits Passed"
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/browser.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/browser.py	(revision 14528)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/browser.py	(revision 14532)
@@ -33,5 +33,4 @@
     IStudentsUtils, IStudent, IStudentRequestPW)
 from waeup.kofa.students.workflow import PAID, REGISTERED, RETURNING
-from waeup.kofa.students.studylevel import getGradeWeightFromScore
 from waeup.kofa.students.browser import (
     StartClearancePage,
@@ -865,11 +864,11 @@
         # In AAUE only editable tickets can be printed
         for ticket in sorted_tickets:
-            if None in (ticket.score, ticket.ca):
+            if ticket.total_score is None:
                 total = 'n/a'
                 grade = 'n/a'
             else:
-                total = ticket.score + ticket.ca
-                grade = getGradeWeightFromScore(total, ticket.student)[0]
-                if grade == 'F':
+                total = ticket.total_score
+                grade = ticket._getGradeWeightFromScore[0]
+                if grade in ('F', '-'):
                     failed += 1
                 else:
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/reports/tests/test_raw_score_report.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/reports/tests/test_raw_score_report.py	(revision 14528)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/reports/tests/test_raw_score_report.py	(revision 14532)
@@ -37,5 +37,5 @@
         # we can get a list with one course code
         result = get_courses('fac1', 'dep1', 'CERT1', 2010, 100)
-        self.assertEqual(result, [(u'Course1')])
+        self.assertEqual(result, [u'Course1'])
         return
 
@@ -54,11 +54,18 @@
 
     def test_create_pdf(self):
-        self.course = createObject('waeup.Course')
-        self.course.code = 'Course2'
-        self.course.credits = 30
+        self.course2 = createObject('waeup.Course')
+        self.course2.code = 'Course2'
+        self.course2.credits = 30
         self.app['faculties']['fac1']['dep1'].courses.addCourse(
-            self.course)
+            self.course2)
         self.app['faculties']['fac1']['dep1'].certificates[
-            'CERT1'].addCertCourse(self.course, level=100)
+            'CERT1'].addCertCourse(self.course2, level=100)
+        self.course3 = createObject('waeup.Course')
+        self.course3.code = 'Course3'
+        self.course3.credits = 30
+        self.app['faculties']['fac1']['dep1'].courses.addCourse(
+            self.course3)
+        self.app['faculties']['fac1']['dep1'].certificates[
+            'CERT1'].addCertCourse(self.course3, level=100)
         self.app['faculties']['fac1'].officer_1 = 'Rosa Moonshine - Dean of Faculty'
         self.app['faculties']['fac1']['dep1'].officer_1 = 'Amalia Sunshine - Head of Department'
@@ -73,4 +80,12 @@
         ticket.ca = 10
         self.student['studycourse']['200']['Course2'] = ticket
+        ticket = createObject('waeup.CourseTicket')
+        ticket.code = 'Course3'
+        ticket.credits = 30
+        # core course, no result available
+        ticket.score = -1
+        ticket.ca = 0
+        self.student['studycourse']['200']['Course3'] = ticket
+        self.assertEqual(ticket.grade, '-')
         self.student.firstname = u'Osahenokese Tessy'
         self.student.lastname = u'Emwinyomwanru'
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/studylevel.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/studylevel.py	(revision 14528)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/studylevel.py	(revision 14532)
@@ -68,5 +68,5 @@
         level_gpa = 0.0
         for ticket in self.values():
-            if None not in (ticket.score, ticket.ca):
+            if ticket.total_score is not None:
                 credits_counted += ticket.credits
                 credits_weighted += ticket.credits * ticket.weight
@@ -94,5 +94,5 @@
         courses_not_taken = ''
         for ticket in self.values():
-            if None not in (ticket.score, ticket.ca):
+            if ticket.total_score is not None:
                 if ticket.total_score < ticket.passmark:
                     failed += 1
@@ -361,9 +361,32 @@
 
     @property
+    def _getGradeWeightFromScore(self):
+        """Nigerian Course Grading System
+        """
+        if self.score == -1:
+            return ('-',0) # core course and result not yet available (used by AAUE)
+        if self.total_score is None:
+            return (None, None)
+        if self.total_score >= 70:
+            return ('A',5)
+        if self.total_score >= 60:
+            return ('B',4)
+        if self.total_score >= 50:
+            return ('C',3)
+        if self.total_score >= 45:
+            return ('D',2)
+        if self.total_score >= self.passmark: # passmark changed in 2013 from 40 to 45
+            return ('E',1)
+        return ('F',0)
+
+    @property
     def total_score(self):
         """Returns ca + score.
         """
+        if self.score == -1:
+            return 0
         if not None in (self.score, self.ca):
             return self.score + self.ca
+        return None
 
     @property
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/tests/test_browser.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/tests/test_browser.py	(revision 14528)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/tests/test_browser.py	(revision 14532)
@@ -405,4 +405,6 @@
         # A course ticket slip can be downloaded
         self.login_as_lecturer()
+        self.student['studycourse']['100']['COURSE1'].score = 55
+        self.student['studycourse']['100']['COURSE1'].ca = 11
         pdf_url = '%s/coursetickets.pdf' % self.course_url
         self.browser.open(pdf_url)
