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 9504)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/tests/test_browser.py	(revision 9527)
@@ -85,5 +85,4 @@
         self.app['configuration']['2004'].gown_fee = 150.0
         self.app['configuration']['2004'].transfer_fee = 90.0
-        #self.app['configuration']['2004'].clearance_fee = 120.0
         self.app['configuration']['2004'].booking_fee = 150.0
         self.app['configuration']['2004'].maint_fee = 180.0
@@ -92,5 +91,5 @@
         self.browser.addHeader('Authorization', 'Basic mgr:mgrpw')
         self.browser.open(self.payments_path)
-        self.browser.getControl("Add online payment ticket").click()
+        self.browser.getLink("Add current session payment ticket").click()
         self.browser.getControl("Create ticket").click()
         self.assertMatches('...Wrong state...',
@@ -101,8 +100,5 @@
         self.assertMatches('...Amount could not be determined...',
                            self.browser.contents)
-
         self.app['configuration']['2004'].school_fee_base = 6666.0
-
-        self.browser.getControl("Add online payment ticket").click()
         self.browser.getControl("Create ticket").click()
         self.assertMatches('...ticket created...',
@@ -169,4 +165,5 @@
                            self.browser.contents)
         # Ok, then we approve the first instalment ...
+        self.browser.open(self.payments_path)
         ctrl = self.browser.getControl(name='val_id')
         p_id = ctrl.options[0]
@@ -204,8 +201,22 @@
         del self.app['configuration']['2004']
         self.browser.open(self.payments_path)
-        self.browser.getControl("Add online payment ticket").click()
+        self.browser.getLink("Add current session payment ticket").click()
         self.browser.getControl("Create ticket").click()
         self.assertMatches('...Session configuration object is not...',
                            self.browser.contents)
+
+    def test_student_payments(self):
+        # Login
+        IWorkflowState(self.student).setState('returning')
+        self.browser.open(self.login_path)
+        self.browser.getControl(name="form.login").value = self.student_id
+        self.browser.getControl(name="form.password").value = 'spwd'
+        self.browser.getControl("Login").click()
+        self.browser.open(self.student_path + '/payments')
+        self.assertTrue(
+          'Add current session payment ticket' in self.browser.contents)
+        self.assertFalse(
+          'Add previous session payment ticket' in self.browser.contents)
+        return
 
     def test_get_returning_data(self):
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/utils.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/utils.py	(revision 9504)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/utils.py	(revision 9527)
@@ -63,8 +63,6 @@
         p_level = student['studycourse'].current_level
         p_current = True
-        session = str(p_session)
-        try:
-            academic_session = grok.getSite()['configuration'][session]
-        except KeyError:
+        academic_session = self._getSessionConfiguration(p_session)
+        if academic_session == None:
             return _(u'Session configuration object is not available.'), None
         # Determine fee.
@@ -94,4 +92,7 @@
             elif student.state == RETURNING or\
                 (student.is_postgrad and student.state == PAID):
+                academic_session = self._getSessionConfiguration(p_session)
+                if academic_session == None:
+                    return _(u'Session configuration object is not available.'), None
                 if student.state == RETURNING:
                     p_session, p_level = self.getReturningData(student)
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/viewlets.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/viewlets.py	(revision 9527)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/viewlets.py	(revision 9527)
@@ -0,0 +1,25 @@
+## $Id$
+##
+## Copyright (C) 2011 Uli Fouquet & Henrik Bettermann
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##
+
+from waeup.kofa.students.viewlets import AddPreviousPaymentActionButton
+
+class AddPreviousPaymentActionButton(AddPreviousPaymentActionButton):
+
+    @property
+    def target_url(self):
+        return ''
