diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js
index 9e14d8d90e94584b5825433399b4bb3a1c258fa2..477928456e81c128cacac6e0e9ca255c04f877c1 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/js/openbis.js
@@ -104,6 +104,10 @@ openbis.prototype.restoreSession = function() {
 	this.sessionToken = readCookie('openbis');
 }
 
+openbis.prototype.useSession = function(sessionToken){
+	this.sessionToken = sessionToken;
+}
+
 openbis.prototype.isSessionActive = function(action) {
 	ajaxRequest({
 		url: this.generalInfoServiceUrl,
@@ -371,8 +375,8 @@ openbisWebAppContext.prototype.getEntityPermId = function(){
 
 openbisWebAppContext.prototype.getParameter = function(parameterName){
 	var match = location.search.match(RegExp("[?|&]"+parameterName+'=(.+?)(&|$)'));
-	if(match){
-		return decodeURIComponent(match[1]);
+	if(match && match[1]){
+		return decodeURIComponent(match[1].replace(/\+/g,' '));
 	}else{
 		return null;
 	}
diff --git a/openbis/source/javascript/openbis.js b/openbis/source/javascript/openbis.js
index f5a686c3ced032d78e7eab28a69b468b54563ab4..50d3a7c8008f0f2c1419ea729a0b239277f795ea 100644
--- a/openbis/source/javascript/openbis.js
+++ b/openbis/source/javascript/openbis.js
@@ -106,6 +106,10 @@ openbis.prototype.restoreSession = function() {
 	this.sessionToken = readCookie('openbis');
 }
 
+openbis.prototype.useSession = function(sessionToken){
+	this.sessionToken = sessionToken;
+}
+
 openbis.prototype.isSessionActive = function(action) {
 	ajaxRequest({
 		url: this.generalInfoServiceUrl,
@@ -426,8 +430,8 @@ openbisWebAppContext.prototype.getEntityPermId = function(){
 
 openbisWebAppContext.prototype.getParameter = function(parameterName){
 	var match = location.search.match(RegExp("[?|&]"+parameterName+'=(.+?)(&|$)'));
-	if(match){
-		return decodeURIComponent(match[1]);
+	if(match && match[1]){
+		return decodeURIComponent(match[1].replace(/\+/g,' '));
 	}else{
 		return null;
 	}