diff --git a/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/ws/ProxyForTM.java b/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/ws/ProxyForTM.java
index c89f79202c1ced0451ef551307ff6668a227250a..4a3d2f645130613388c44b12b2299c4682765819 100644
--- a/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/ws/ProxyForTM.java
+++ b/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/ws/ProxyForTM.java
@@ -54,14 +54,14 @@ public class ProxyForTM implements IProxyForTM {
 			List<Integer> ids = step.getReceiverIds();
 			List<Configuration> stepConfigurations = new ArrayList<Configuration>();
 			if (ids != null) {
-				stepConfigurations = getStepConfigurations(configurations, ids);
+				stepConfigurations = getStepConfigurations(configurations, ids, true);
 			}
 			step.setReceivers(stepConfigurations);
 
 			ids = step.getSenderIds();
 			stepConfigurations = new ArrayList<Configuration>();
 			if (ids != null) {
-				stepConfigurations = getStepConfigurations(configurations, ids);
+				stepConfigurations = getStepConfigurations(configurations, ids, false);
 			}
 			step.setSenders(stepConfigurations);
 		}
@@ -77,12 +77,19 @@ public class ProxyForTM implements IProxyForTM {
 
 	}
 
-	private List<Configuration> getStepConfigurations(List<Configuration> configurations, List<Integer> ids) {
+	private List<Configuration> getStepConfigurations(List<Configuration> configurations, List<Integer> ids,
+			boolean receiver) {
 		List<Configuration> stepConfigurations = new ArrayList<Configuration>();
 		for (Integer id : ids) {
 			Configuration stepConfiguration = getConfigurationByTmId(id, configurations);
-			if (stepConfiguration != null && stepConfiguration.getProxyPort() > 0) {
-				stepConfigurations.add(stepConfiguration);
+			if (stepConfiguration != null) {
+				if (receiver) {
+					if (stepConfiguration.getProxyPort() > 0) {
+						stepConfigurations.add(stepConfiguration);
+					}
+				} else {
+					stepConfigurations.add(stepConfiguration);
+				}
 			}
 		}
 		return stepConfigurations;