Index: main/waeup.aaue/trunk/src/waeup/aaue/students/browser.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/browser.py	(revision 13997)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/browser.py	(revision 14000)
@@ -29,5 +29,5 @@
 from waeup.kofa.interfaces import IKofaUtils, academic_sessions_vocab
 from waeup.kofa.students.interfaces import IStudentsUtils, IStudent
-from waeup.kofa.students.workflow import PAID, REGISTERED
+from waeup.kofa.students.workflow import PAID, REGISTERED, RETURNING
 from waeup.kofa.students.studylevel import getGradeWeightFromScore
 from waeup.kofa.students.browser import (
@@ -212,4 +212,13 @@
         'validation_date'].custom_widget = FriendlyDatetimeDisplayWidget('le')
 
+    @property
+    def show_results(self):
+        isStudent = getattr(
+            self.request.principal, 'user_type', None) == 'student'
+        if isStudent and self.context.student.state != RETURNING \
+            and self.context.student.current_level == self.context.level:
+            return False
+        return True
+
 class CustomStudyLevelManageFormPage(StudyLevelManageFormPage):
     """ Page to edit the student study level data
@@ -234,4 +243,12 @@
         'phone', 'adm_code', 'sex', 'email', 'date_of_birth',
         'department', 'current_mode', 'current_level', 'flash_notice')
+
+    @property
+    def show_results(self):
+        isStudent = getattr(
+            self.request.principal, 'user_type', None) == 'student'
+        return not isStudent \
+            or self.context.student.current_level != self.context.level \
+            or self.context.student.state == RETURNING
 
     def update(self):
@@ -240,4 +257,5 @@
             self.flash(_('Forbidden'), type="warning")
             self.redirect(self.url(self.context))
+            return
 
     @property
@@ -305,7 +323,8 @@
         Title = translate(_('Title'), target_language=portal_language)
         Cred = translate(_('Cred.'), target_language=portal_language)
-        Score = translate(_('Score'), target_language=portal_language)
-        #CA = translate(_('CA'), target_language=portal_language)
-        Grade = translate(_('Grade'), target_language=portal_language)
+        if self.show_results:
+            Score = translate(_('Score'), target_language=portal_language)
+            #CA = translate(_('CA'), target_language=portal_language)
+            Grade = translate(_('Grade'), target_language=portal_language)
         Signature = translate(_('Lecturer\'s Signature'), 'waeup.aaue',
             target_language=portal_language)
@@ -321,12 +340,19 @@
                 [value for value in self.context.values() if value.semester == i],
                 key=lambda value: str(value.semester) + value.code))
-            tableheader.append([(Code,'code', 2.0),
-                               (Title,'title', 7),
-                               (Cred, 'credits', 1.5),
-                               (Score, 'score', 1.4),
-                               #(CA, 'ca', 1.4),
-                               (Grade, 'grade', 1.4),
-                               (Signature, 'dummy', 3),
-                               ])
+            if self.show_results:
+                tableheader.append([(Code,'code', 2.0),
+                                   (Title,'title', 7),
+                                   (Cred, 'credits', 1.5),
+                                   (Score, 'score', 1.4),
+                                   #(CA, 'ca', 1.4),
+                                   (Grade, 'grade', 1.4),
+                                   (Signature, 'dummy', 3),
+                                   ])
+            else:
+                tableheader.append([(Code,'code', 2.0),
+                                   (Title,'title', 7),
+                                   (Cred, 'credits', 1.5),
+                                   (Signature, 'dummy', 3),
+                                   ])
         if len(self.label.split('\n')) == 3:
             topMargin = 1.9
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/browser_templates/studyleveleditpage.pt
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/browser_templates/studyleveleditpage.pt	(revision 13997)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/browser_templates/studyleveleditpage.pt	(revision 14000)
@@ -18,6 +18,4 @@
       <th i18n:translate="">Faculty</th>
       <th i18n:translate="">Credits</th>
-      <th i18n:translate="">Score</th>
-      <th i18n:translate="">CA</th>
       <th i18n:translate="">CO</th>
     </tr>
@@ -38,6 +36,4 @@
       <td tal:content="value/fcode">FACULTY</td>
       <td tal:content="value/credits">CREDITS</td>
-      <td tal:content="value/score|nothing">SCORE</td>
-      <td tal:content="value/ca|nothing">CA</td>
       <td tal:content="value/carry_over">CO</td>
     </tr>
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/browser_templates/studylevelpage.pt
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/browser_templates/studylevelpage.pt	(revision 13997)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/browser_templates/studylevelpage.pt	(revision 14000)
@@ -46,8 +46,8 @@
       <td tal:content="value/credits">CREDITS</td>
       <td tal:content="value/mandatory">MANDATORY</td>
-      <td tal:content="value/score|nothing">SCORE</td>
-      <td tal:content="value/ca|nothing">CA</td>
-      <td tal:content="value/grade|nothing">GRADE</td>
-      <td tal:content="value/carry_over">CO</td>
+      <td tal:condition="view/show_results" tal:content="value/score|nothing">SCORE</td>
+      <td tal:condition="view/show_results" tal:content="value/ca|nothing">CA</td>
+      <td tal:condition="view/show_results" tal:content="value/grade|nothing">GRADE</td>
+      <td tal:condition="view/show_results" tal:content="value/carry_over">CO</td>
       <td tal:content="value/automatic">AUTO</td>
     </tr>
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 13997)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/tests/test_browser.py	(revision 14000)
@@ -441,6 +441,10 @@
                            self.browser.contents)
         self.browser.getControl("Create course list now").click()
+        self.student['studycourse']['100']['COURSE1'].score = 987
         self.browser.getLink("100").click()
+        # Course results can't be seen
+        self.assertFalse('987' in self.browser.contents)
         self.browser.getLink("Edit course list").click()
+        self.assertFalse('987' in self.browser.contents)
         self.browser.getControl("Register course list").click()
         self.assertTrue('Course registration has ended. Please pay' in self.browser.contents)
