diff --git a/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/action/MessagesBean.java b/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/action/MessagesBean.java
index 5f4bd1a5ca1ffbc8caa331d504934931d83534a0..632f35e2e55ac3b0b1e73e6be38f634549b75ae6 100644
--- a/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/action/MessagesBean.java
+++ b/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/action/MessagesBean.java
@@ -28,6 +28,7 @@ import org.jboss.seam.annotations.Destroy;
 import org.jboss.seam.annotations.In;
 import org.jboss.seam.annotations.Name;
 import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.faces.Redirect;
 
 @Name("messagesBean")
 @Scope(ScopeType.PAGE)
@@ -178,6 +179,32 @@ public class MessagesBean {
 		return null;
 	}
 
+	public void redirectToMessageFromURL() {
+		FacesContext fc = FacesContext.getCurrentInstance();
+		String id = (String) fc.getExternalContext().getRequestParameterMap().get("id");
+		AbstractMessage message = ProxyDAO.getMessageByID(Integer.parseInt(id), entityManager);
+
+		Redirect redirect = Redirect.instance();
+		redirect.setParameter("id", id);
+
+		String viewId = "";
+		if (message instanceof HL7Message) {
+			viewId = "/messages/hl7.xhtml";
+		}
+		if (message instanceof DicomMessage) {
+			viewId = "/messages/dicom.xhtml";
+		}
+		if (message instanceof SyslogMessage) {
+			viewId = "/messages/syslog.xhtml";
+		}
+		if (message instanceof HTTPMessage) {
+			viewId = "/messages/http.xhtml";
+		}
+
+		redirect.setViewId(viewId);
+		redirect.execute();
+	}
+
 	public String redirectToMessage(AbstractMessage message) {
 		if (message.getId() == null) {
 			return null;
@@ -213,7 +240,6 @@ public class MessagesBean {
 		messageFilterStep.setFilterDates(filterDates);
 	}
 
-
 	public void setFilterPathFrom(boolean filterPathFrom) {
 		messageFilterStep.setFilterPathFrom(filterPathFrom);
 	}
diff --git a/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/action/dao/ProxyDAO.java b/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/action/dao/ProxyDAO.java
index e28a09ef035d4fa21037821da33d5deb16858f2e..8bc774d9d0efa17434dd46e8b5e9d1c925a2bf4c 100644
--- a/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/action/dao/ProxyDAO.java
+++ b/gazelle-proxy-ejb/src/main/java/net/ihe/gazelle/proxy/action/dao/ProxyDAO.java
@@ -12,6 +12,7 @@ import org.hibernate.criterion.Restrictions;
 
 import net.ihe.gazelle.proxy.dao.ChannelDAO;
 import net.ihe.gazelle.proxy.model.Channel;
+import net.ihe.gazelle.proxy.model.message.AbstractMessage;
 import net.ihe.gazelle.proxy.model.tm.Step;
 import net.ihe.gazelle.proxy.util.HibernateUtilPKI;
 import net.ihe.gazelle.proxy.util.HibernateUtilProxy;
@@ -73,4 +74,12 @@ public class ProxyDAO {
 		return steps;
 	}
 
+	public static AbstractMessage getMessageByID(int id, EntityManager entityManager) {
+		Session session = HibernateUtilProxy.getSession(entityManager);
+		Criteria criteria = session.createCriteria(AbstractMessage.class);
+		criteria.add(Restrictions.eq("id", new Integer(id)));
+		AbstractMessage message = (AbstractMessage) criteria.uniqueResult();
+		return message;
+	}
+
 }
diff --git a/gazelle-proxy-war/src/main/webapp/message.xhtml b/gazelle-proxy-war/src/main/webapp/message.xhtml
new file mode 100644
index 0000000000000000000000000000000000000000..d5f01c9756aaf28069cf23136629a69fa2a8fa2c
--- /dev/null
+++ b/gazelle-proxy-war/src/main/webapp/message.xhtml
@@ -0,0 +1,19 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
+                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:s="http://jboss.com/products/seam/taglib"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:rich="http://richfaces.ajax4jsf.org/rich"
+	xmlns:gazelle="http://www.ihe.net/gazelle"
+	xmlns:a4j="http://richfaces.org/a4j" template="/layout/template.xhtml">
+
+	<ui:param name="pageNameUrl" value="testInstance.seam" />
+
+	<ui:define name="body">
+		<h:form>
+			#{messagesBean.redirectToMessageFromURL()}
+		</h:form>
+	</ui:define>
+</ui:composition>
\ No newline at end of file