diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/AbstractClientService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/AbstractClientService.java
index e858c59a4b09dc42068aeac1601abad0d712bdd3..3f3899cfcaddd39a8c3f5b3c1512a920c4cbd2ac 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/AbstractClientService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/AbstractClientService.java
@@ -25,6 +25,7 @@ import javax.servlet.http.HttpSession;
 
 import org.apache.log4j.Logger;
 
+import ch.systemsx.cisd.base.utilities.AbstractBuildAndEnvironmentInfo;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.common.logging.LogCategory;
 import ch.systemsx.cisd.common.logging.LogFactory;
@@ -249,6 +250,15 @@ public abstract class AbstractClientService implements IClientService
 
     /** Returns the {@link IServer} implementation for this client service. */
     protected abstract IServer getServer();
+    
+    /**
+     * Returns the appropriate build and environment info. This method should be overridden in 
+     * subclasses of custom openBIS projects.
+     */
+    protected AbstractBuildAndEnvironmentInfo getBuildAndApplicationInfo()
+    {
+        return BuildAndEnvironmentInfo.INSTANCE;
+    }
 
     //
     // IClientService
@@ -257,7 +267,7 @@ public abstract class AbstractClientService implements IClientService
     public final ApplicationInfo getApplicationInfo()
     {
         final ApplicationInfo applicationInfo = new ApplicationInfo();
-        applicationInfo.setVersion(BuildAndEnvironmentInfo.INSTANCE.getFullVersion());
+        applicationInfo.setVersion(getBuildAndApplicationInfo().getFullVersion());
         applicationInfo.setCIFEXURL(cifexURL);
         applicationInfo.setCifexRecipient(cifexRecipient);
         return applicationInfo;