Index: main/waeup.aaue/trunk/src/waeup/aaue/students/reports/raw_score_report.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/reports/raw_score_report.py	(revision 14383)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/reports/raw_score_report.py	(revision 14384)
@@ -230,9 +230,10 @@
         pdf_data += [Paragraph(
                     translate(
-                        '${a}<br />${b}<br />Level: ${c}<br />Session: ${d}',
+                        '${a}<br />${b}<br />Session: ${c}<br />Level: ${d}',
                         mapping = {'a':self.factitle,
                                    'b':self.deptitle,
-                                   'c':self.level,
-                                   'd':self.session, }),
+                                   'c':self.session,
+                                   'd':self.level,
+                                   }),
                     STYLE["Normal"]),
                     Spacer(1, 12),]
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/reports/tests/test_level_report.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/reports/tests/test_level_report.py	(revision 14383)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/reports/tests/test_level_report.py	(revision 14384)
@@ -30,5 +30,5 @@
         result = get_students('fac1', 'dep1', 2010, 100)
         self.assertEqual(result,
-            [(u'1234', u'TESTER, Bob', 30, 30, 0, 5.0, '', 30, 30, 5.0, 'Proceed')])
+            [(u'1234', u'TESTER, Bob', 30, 30, 0, '5.00', '', 30, 30, '5.000', 'Proceed')])
         return
 
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/studycourse.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/studycourse.py	(revision 14383)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/studycourse.py	(revision 14384)
@@ -48,7 +48,4 @@
         return self.is_postgrad
 
-    def _display_gpa(self, gpa):
-        return int(100 * gpa) / 100.0
-
 CustomStudentStudyCourse = attrs_to_fields(CustomStudentStudyCourse)
 
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/studylevel.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/studylevel.py	(revision 14383)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/studylevel.py	(revision 14384)
@@ -60,7 +60,4 @@
         return total
 
-    def _display_gpa(self, gpa):
-        return int(100 * gpa) / 100.0
-
     @property
     def gpa_params(self):
@@ -75,5 +72,5 @@
                 credits_weighted += ticket.credits * ticket.weight
         if credits_counted:
-            level_gpa = self._display_gpa(credits_weighted/credits_counted)
+            level_gpa = credits_weighted/credits_counted
         # Override level_gpa if value has been imported
         imported_gpa = getattr(self, 'imported_gpa', None)
@@ -110,4 +107,6 @@
             else:
                 no_courses_not_taken += 1
+            if not len(courses_failed):
+                ccourses_failed = 'nil'
         return (passed, failed, credits_passed,
                 credits_failed, courses_failed,
@@ -181,5 +180,5 @@
         if end_level and self.level >= end_level:
             failed_courses = self.passed_params[4]
-            if '_m' in failed_courses:
+            if '_m' in failed_courses or not self.cumulative_params[0]:
                 return 'FRNS'
             if self.cumulative_params[0] < failed_limit:
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 14383)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/tests/test_browser.py	(revision 14384)
@@ -116,5 +116,5 @@
         # sgpa = 82 / 23
         self.assertEqual(
-            self.student['studycourse']['100'].gpa_params[0], 3.56)
+            self.student['studycourse']['100'].gpa_params[0], 3.5652173913043477)
         # imported gpa values override calculated values
         studylevel.imported_gpa = 4.3
@@ -453,5 +453,5 @@
         self.assertEqual(td[0][1]['level'].level_session, 2006)
         self.assertEqual(td[0][1]['tickets_1'][0].code, 'ANYCODE')
-        self.assertEqual(td[1], 3.56)
+        self.assertEqual(td[1], 3.5652173913043477)
         self.browser.addHeader('Authorization', 'Basic mgr:mgrpw')
         self.browser.open(self.student_path + '/studycourse/transcript')
