diff --git a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/OpenBIS.java b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/OpenBIS.java
index 8a2f22b5d1e06987d87018dafb6a953eb2bae2f0..729a5f4733997238b83d340dd103d24cf8277cd4 100644
--- a/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/OpenBIS.java
+++ b/api-openbis-java/source/java/ch/ethz/sis/openbis/generic/OpenBIS.java
@@ -1668,6 +1668,7 @@ public class OpenBIS
 
     public void setSessionToken(final String sessionToken)
     {
+        checkTransactionDoesNotExist();
         this.sessionToken = sessionToken;
 
         if(afsClientNoTransactions != null)
diff --git a/api-openbis-javascript/src/v3/openbis.js b/api-openbis-javascript/src/v3/openbis.js
index a5c1a6be3fdc922f885e489e1ce466a5655f0d51..50b579c650c0c5e1a1d5f299f011dea5590d54c3 100644
--- a/api-openbis-javascript/src/v3/openbis.js
+++ b/api-openbis-javascript/src/v3/openbis.js
@@ -639,7 +639,7 @@ define([ 'jquery', 'util/Json', 'as/dto/datastore/search/DataStoreSearchCriteria
 
 	}
 
-	var facade = function(asUrl, afsUrl) {
+	var facade = function(asUrl, afsUrl, sessionToken) {
 
         var openbisUrl = "/openbis/openbis/rmi-application-server-v3.json";
         var transactionCoordinatorUrl = "/openbis/openbis/rmi-transaction-coordinator.json";
@@ -658,6 +658,12 @@ define([ 'jquery', 'util/Json', 'as/dto/datastore/search/DataStoreSearchCriteria
 		this._private.transactionCoordinatorUrl = transactionCoordinatorUrl
 		this._private.afsUrl = afsUrl
 
+        this.setSessionToken = function(sessionToken) {
+            var thisFacade = this;
+            thisFacade._private.checkTransactionDoesNotExist();
+            thisFacade._private.sessionToken = sessionToken
+        }
+
 		this.login = function(user, password) {
 			var thisFacade = this;
 			thisFacade._private.checkTransactionDoesNotExist();