Index: /vlo/branches/to-wicket-1.6/vlo_web_app/src/main/java/eu/clarin/cmdi/vlo/VloSession.java
===================================================================
--- /vlo/branches/to-wicket-1.6/vlo_web_app/src/main/java/eu/clarin/cmdi/vlo/VloSession.java	(revision 4233)
+++ /vlo/branches/to-wicket-1.6/vlo_web_app/src/main/java/eu/clarin/cmdi/vlo/VloSession.java	(revision 4234)
@@ -1,3 +1,2 @@
-
 package eu.clarin.cmdi.vlo;
 
@@ -7,9 +6,9 @@
 
 /**
- * A web session containing a VLO theme and parameters that are considered to
- * be persistent in a VLO session.
- * 
+ * A web session containing a VLO theme and parameters that are considered to be
+ * persistent in a VLO session.
+ *
  * Note that these parameters can include the specification of the theme.
- * 
+ *
  * @author keeloo
  */
@@ -17,5 +16,5 @@
 
     // remember the parameters that need to persist in URLs to VLO pages in this session
-    public PageParameters vloSessionPageParameters = new PageParameters();
+    private PageParameters vloSessionPageParameters = new PageParameters();
 
     // remember this session's theme
@@ -24,6 +23,6 @@
     /**
      * Construct a session object with a request parameter
-     * 
-     * @param request 
+     *
+     * @param request
      */
     public VloSession(Request request) {
@@ -34,6 +33,6 @@
     /**
      * Get the session's theme
-     * 
-     * @return the session's theme 
+     *
+     * @return the session's theme
      */
     public Theme getCurrentTheme() {
@@ -43,5 +42,5 @@
     /**
      * Set the session's theme
-     * 
+     *
      * @param theme the session's theme
      */
@@ -49,8 +48,8 @@
         this.currentTheme = theme;
     }
-    
+
     /**
      * Return the session's persistent parameters
-     * 
+     *
      * @return session parameters
      */
@@ -61,10 +60,10 @@
     /**
      * Add parameters to the session's persistent parameters
-     * 
+     *
      * @param parameters a page parameter map
      *
      */
     public void addVloSessionPageParameters(PageParameters parameters) {
-        
+
         vloSessionPageParameters.mergeWith(parameters);
     }
Index: /vlo/branches/to-wicket-1.6/vlo_web_app/src/main/java/eu/clarin/cmdi/vlo/VloWebApplication.java
===================================================================
--- /vlo/branches/to-wicket-1.6/vlo_web_app/src/main/java/eu/clarin/cmdi/vlo/VloWebApplication.java	(revision 4233)
+++ /vlo/branches/to-wicket-1.6/vlo_web_app/src/main/java/eu/clarin/cmdi/vlo/VloWebApplication.java	(revision 4234)
@@ -18,4 +18,5 @@
 import org.apache.wicket.request.cycle.AbstractRequestCycleListener;
 import org.apache.wicket.request.cycle.RequestCycle;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.string.StringValue;
 
@@ -63,5 +64,7 @@
                     ((VloSession) Session.get()).setCurrentTheme(new Theme(object.toString()));
                     // remember the theme as a vlo session page parameter
-                    ((VloSession) Session.get()).vloSessionPageParameters.add("theme", object);
+                    PageParameters params = new PageParameters();
+                    params.add("theme", object);
+                    ((VloSession) Session.get()).addVloSessionPageParameters(params);
                 }
             }
Index: /vlo/branches/to-wicket-1.6/vlo_web_app/src/main/java/eu/clarin/cmdi/vlo/pages/FacetLinkPanel.java
===================================================================
--- /vlo/branches/to-wicket-1.6/vlo_web_app/src/main/java/eu/clarin/cmdi/vlo/pages/FacetLinkPanel.java	(revision 4233)
+++ /vlo/branches/to-wicket-1.6/vlo_web_app/src/main/java/eu/clarin/cmdi/vlo/pages/FacetLinkPanel.java	(revision 4234)
@@ -1,4 +1,5 @@
 package eu.clarin.cmdi.vlo.pages;
 
+import eu.clarin.cmdi.vlo.VloSession;
 import org.apache.solr.client.solrj.response.FacetField.Count;
 import org.apache.wicket.markup.html.basic.Label;
@@ -19,4 +20,5 @@
         q.setFilterQuery(count);
         PageParameters param = q.getPageParameters();
+        param.mergeWith(((VloSession) VloSession.get()).getVloSessionPageParameters());
         
         Link<Count> facetLink = new BookmarkablePageLink("facetLink", FacetedSearchPage.class, param);
Index: /vlo/branches/to-wicket-1.6/vlo_web_app/src/main/java/eu/clarin/cmdi/vlo/pages/ShowResultPage.java
===================================================================
--- /vlo/branches/to-wicket-1.6/vlo_web_app/src/main/java/eu/clarin/cmdi/vlo/pages/ShowResultPage.java	(revision 4233)
+++ /vlo/branches/to-wicket-1.6/vlo_web_app/src/main/java/eu/clarin/cmdi/vlo/pages/ShowResultPage.java	(revision 4234)
@@ -74,5 +74,5 @@
     public ShowResultPage(final PageParameters currentParam) {
         super(currentParam);
-        //TODO: Is encoding/decoding of the page parameter required (or can it be automated?)
+        //Document ID is assumed to have been encoded (typcially in DocumentLinkPanel) decode here
         final String docId = UrlDecoder.QUERY_INSTANCE.decode(
                 getPageParameters().get(PARAM_DOC_ID).toString(),
@@ -83,8 +83,7 @@
 
             // create parameters from the query, and add them with session related parameters
-            PageParameters newParam;
-            newParam = new PageParameters(query.getPageParameters());
+            PageParameters newParam = new PageParameters(query.getPageParameters());
             // add the session persistent parameters
-            newParam.mergeWith(((VloSession)this.getSession()).getVloSessionPageParameters());
+            newParam.mergeWith(((VloSession) this.getSession()).getVloSessionPageParameters());
 
             BookmarkablePageLink<String> backLink = new BookmarkablePageLink<String>("backLink", FacetedSearchPage.class, newParam);
@@ -429,5 +428,5 @@
         PageParameters newParam = new PageParameters(parameters);
         // add the session persistent paremeters
-        newParam.mergeWith(((VloSession)this.getSession()).getVloSessionPageParameters());
+        newParam.mergeWith(((VloSession) this.getSession()).getVloSessionPageParameters());
 
         final RequestCycle reqCycle = getRequestCycle();
@@ -460,10 +459,9 @@
         PageParameters newParam;
         newParam = new PageParameters(query.getPageParameters());
-        // add the session persistent parameters
-        // newParam.add(((VloSession)this.getSession()).getVloSessionPageParameters());
         newParam.add(ShowResultPage.PARAM_DOC_ID, UrlEncoder.QUERY_INSTANCE.encode(
                 docId,
                 Application.get().getRequestCycleSettings().getResponseRequestEncoding())); // get current character set from request cycle
-
+        // add the session persistent parameters
+        newParam.mergeWith(((VloSession) VloSession.get()).getVloSessionPageParameters());
         BookmarkablePageLink<ShowResultPage> docLink = new BookmarkablePageLink<ShowResultPage>(linkId, ShowResultPage.class,
                 newParam);
