diff --git a/core/org.eclipse.smila.http.server/META-INF/MANIFEST.MF b/core/org.eclipse.smila.http.server/META-INF/MANIFEST.MF
index 64a5543..b7fd82c 100644
--- a/core/org.eclipse.smila.http.server/META-INF/MANIFEST.MF
+++ b/core/org.eclipse.smila.http.server/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: SMILA HTTP server bundle
 Bundle-SymbolicName: org.eclipse.smila.http.server
-Bundle-Version: 1.3.0.qualifier
+Bundle-Version: 1.4.0.qualifier
 Bundle-Vendor: Eclipse RT SMILA project
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Import-Package: javax.servlet;version="2.5.0",
@@ -43,7 +43,7 @@
 Eclipse-BuddyPolicy: registered
 Service-Component: OSGI-INF/httpservice.xml
 Export-Package: org.eclipse.smila.http.server;version="1.2.0",
- org.eclipse.smila.http.server.internal;version="1.3.0",
- org.eclipse.smila.http.server.jetty;version="1.3.0",
+ org.eclipse.smila.http.server.internal;version="1.4.0",
+ org.eclipse.smila.http.server.jetty;version="1.4.0",
  org.eclipse.smila.http.server.json;version="1.3.0",
  org.eclipse.smila.http.server.util;version="1.3.0"
diff --git a/core/org.eclipse.smila.http.server/code/src/org/eclipse/smila/http/server/internal/HandlerAdapter.java b/core/org.eclipse.smila.http.server/code/src/org/eclipse/smila/http/server/internal/HandlerAdapter.java
index 006a298..0e73b1d 100644
--- a/core/org.eclipse.smila.http.server/code/src/org/eclipse/smila/http/server/internal/HandlerAdapter.java
+++ b/core/org.eclipse.smila.http.server/code/src/org/eclipse/smila/http/server/internal/HandlerAdapter.java
@@ -2,7 +2,7 @@
  * Copyright (c) 2008, 2011 Attensity Europe GmbH and brox IT Solutions GmbH. All rights reserved. This program and the
  * accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this
  * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors: Juergen Schumacher (Attensity Europe GmbH) - initial API and implementation
  *******************************************************************************/
 package org.eclipse.smila.http.server.internal;
@@ -33,7 +33,7 @@
 
   /**
    * create handler adapter for the given HttpHandler.
-   * 
+   *
    * @param handler
    *          SMILA HttpHandler
    */
@@ -43,7 +43,7 @@
 
   /**
    * {@inheritDoc}
-   * 
+   *
    * @see AbstractHandler#handle(String, Request, HttpServletRequest, HttpServletResponse)
    */
   @Override
@@ -51,7 +51,7 @@
     final HttpServletResponse response) throws IOException, ServletException {
     final EndPoint endPoint = AbstractHttpConnection.getCurrentConnection().getEndPoint();
     final HttpExchange exchange =
-      new HttpExchangeImpl(baseRequest, response, endPoint.getLocalHost(), endPoint.getLocalPort());
+      new HttpExchangeImpl(baseRequest, response, endPoint.getLocalAddr(), endPoint.getLocalPort());
     _handler.handle(exchange);
     // commit response to prevent other handlers appending stuff.
     baseRequest.setHandled(true);
@@ -60,7 +60,7 @@
 
   /**
    * {@inheritDoc}
-   * 
+   *
    * @see Graceful#setShutdown(boolean)
    */
   @Override
diff --git a/core/org.eclipse.smila.http.server/code/src/org/eclipse/smila/http/server/jetty/PortConstraintSecurityHandler.java b/core/org.eclipse.smila.http.server/code/src/org/eclipse/smila/http/server/jetty/PortConstraintSecurityHandler.java
index c6c98d0..a18fef7 100644
--- a/core/org.eclipse.smila.http.server/code/src/org/eclipse/smila/http/server/jetty/PortConstraintSecurityHandler.java
+++ b/core/org.eclipse.smila.http.server/code/src/org/eclipse/smila/http/server/jetty/PortConstraintSecurityHandler.java
@@ -80,7 +80,7 @@
 
   @Override
   protected boolean checkSecurity(final Request request) {
-    if (_noAuthenticationPort > 0 && request.getServerPort() == _noAuthenticationPort) {
+    if (_noAuthenticationPort > 0 && request.getLocalPort() == _noAuthenticationPort) {
       return false;
     }
     // needed for preflight CORS requests: OPTIONS requests should not require authentication
