diff --git a/gazelle-proxy-war/src/main/webapp/WEB-INF/components.xml b/gazelle-proxy-war/src/main/webapp/WEB-INF/components.xml
index 28c3bd3c1671995f8938343e6d6c9564f30202b5..b56035b1f64f5ab5ed25c537b618c38d4f057fac 100644
--- a/gazelle-proxy-war/src/main/webapp/WEB-INF/components.xml
+++ b/gazelle-proxy-war/src/main/webapp/WEB-INF/components.xml
@@ -31,6 +31,4 @@
 	<web:multipart-filter create-temp-files="true"
 		max-request-size="1000000" url-pattern="*.seam" />
 
-	<async:quartz-dispatcher />
-
 </components>
diff --git a/gazelle-proxy-war/src/main/webapp/WEB-INF/faces-config.xml b/gazelle-proxy-war/src/main/webapp/WEB-INF/faces-config.xml
index 9e2f552e96826d068e7682ae3424c457f36af678..bae927ac3b80054d35e1e63b87fec64cf3a1df17 100644
--- a/gazelle-proxy-war/src/main/webapp/WEB-INF/faces-config.xml
+++ b/gazelle-proxy-war/src/main/webapp/WEB-INF/faces-config.xml
@@ -5,16 +5,11 @@
               xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
 
    <application>
-   	<message-bundle>messages</message-bundle>
    	
       <locale-config>
          <default-locale>en</default-locale>
-         <supported-locale>bg</supported-locale>
-         <supported-locale>de</supported-locale>
          <supported-locale>en</supported-locale>
          <supported-locale>fr</supported-locale>
-         <supported-locale>it</supported-locale>
-         <supported-locale>tr</supported-locale>
       </locale-config>
       <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
    </application>
diff --git a/gazelle-proxy-war/src/main/webapp/WEB-INF/pages.xml b/gazelle-proxy-war/src/main/webapp/WEB-INF/pages.xml
index 5ebbd133fab173011a8a441916e184a9401a07cd..fbb03c88cb0daf3c7f46fca93c59ce2fb9b097db 100644
--- a/gazelle-proxy-war/src/main/webapp/WEB-INF/pages.xml
+++ b/gazelle-proxy-war/src/main/webapp/WEB-INF/pages.xml
@@ -1,94 +1,67 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<pages xmlns="http://jboss.com/products/seam/pages"
-		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-		xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd"
-		no-conversation-view-id="/home.xhtml" 
-		login-view-id="/login.xhtml">
-	
+<pages xmlns="http://jboss.com/products/seam/pages" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.2.xsd"
+
+	no-conversation-view-id="/home.xhtml" login-view-id="/login.xhtml">
+
 	<page view-id="*">
-        <navigation>
-            <rule if-outcome="home">
-                <redirect view-id="/home.xhtml"/>
-            </rule>
-        </navigation>
-    </page>
-	<!--
-	<page view-id="/*">
-		<navigation from-action="home">
-			<end-conversation before-redirect="true"/>
-			<redirect view-id="/home.xhtml"></redirect>
+		<navigation>
+			<rule if-outcome="home">
+				<redirect view-id="/home.xhtml" />
+			</rule>
 		</navigation>
-		
-		<navigation from-action="personList">
-			<end-conversation before-redirect="true"/>
-			<redirect view-id="/page/person/personList.xhtml"></redirect>
-		</navigation>	
 	</page>
-	-->
-	<!--
-		Hopefully this fixes the RF CSS Problem with Seam, see
-		http://jira.jboss.com/jira/browse/JBSEAM-1009
-	-->
-<!--
-	<page view-id="/home.*" login-required="true" />
-	<page view-id="/index.*" login-required="true" />
-	<page view-id="/login.*" login-required="false" />
 
-	<page view-id="/layout/*" login-required="false" />
-	<page view-id="/img/*" login-required="false" />
-	<page view-id="/stylesheet/*" login-required="false" />
-	
--->
-	<exception
-		class="org.jboss.seam.framework.EntityNotFoundException">
+	<exception class="org.jboss.seam.framework.EntityNotFoundException">
 		<redirect view-id="/error.xhtml">
-			<message>Not found</message>
+			<message severity="warn">Record not found</message>
 		</redirect>
 	</exception>
 
-	<exception class="org.hibernate.validator.InvalidStateException">
-		<end-conversation />
-		<redirect view-id="/error.xhtml" />
+	<exception class="javax.persistence.EntityNotFoundException">
+		<redirect view-id="/error.xhtml">
+			<message severity="warn">Record not found</message>
+		</redirect>
 	</exception>
 
-	<exception class="javax.persistence.EntityNotFoundException">
+	<exception class="javax.persistence.EntityExistsException">
 		<redirect view-id="/error.xhtml">
-			<message>Not found</message>
+			<message severity="warn">Duplicate record</message>
 		</redirect>
 	</exception>
 
 	<exception class="javax.persistence.OptimisticLockException">
 		<end-conversation />
 		<redirect view-id="/error.xhtml">
-			<message>
-				Another user changed the same data, please try again
-			</message>
+			<message severity="warn">Another user changed the same data, please try again</message>
 		</redirect>
 	</exception>
 
 	<exception class="org.jboss.seam.security.AuthorizationException">
 		<redirect view-id="/error.xhtml">
-			<message>You don't have permission to do this</message>
+			<message severity="error">You don't have permission to access this resource</message>
 		</redirect>
 	</exception>
 
 	<exception class="org.jboss.seam.security.NotLoggedInException">
 		<redirect view-id="/login.xhtml">
-			<message>#{messages['org.jboss.seam.NotLoggedIn']}</message>
+			<message severity="warn">#{messages['org.jboss.seam.NotLoggedIn']}</message>
 		</redirect>
 	</exception>
 
 	<exception class="javax.faces.application.ViewExpiredException">
-		<redirect view-id="/error.xhtml">
-			<message>
-				Your session has timed out, please try again
-			</message>
-		</redirect>
+		<redirect view-id="/errorExpired.xhtml" />
+	</exception>
+
+	<exception class="org.jboss.seam.ConcurrentRequestTimeoutException"
+		log-level="trace">
+		<http-error error-code="503" />
 	</exception>
 
 	<exception>
 		<redirect view-id="/error.xhtml">
-			<message>Unexpected error, please try again</message>
+			<message severity="error">Unexpected error, please try again</message>
 		</redirect>
 	</exception>
-</pages>
\ No newline at end of file
+
+</pages>
diff --git a/gazelle-proxy-war/src/main/webapp/WEB-INF/web.xml b/gazelle-proxy-war/src/main/webapp/WEB-INF/web.xml
index 71ecc2d4e7fe77ec8665a9830d6ea719aef7aa88..9559486ac91a4f48557a3be4084a7c8e242e1cf0 100644
--- a/gazelle-proxy-war/src/main/webapp/WEB-INF/web.xml
+++ b/gazelle-proxy-war/src/main/webapp/WEB-INF/web.xml
@@ -2,17 +2,15 @@
 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
-	<context-param>
-		<param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
-		<param-value>org.jboss.seam.jsf.SeamViewHandler</param-value>
-	</context-param>
+
+	<!-- RichFaces -->
 
 	<context-param>
 		<param-name>org.richfaces.SKIN</param-name>
 		<param-value>laguna</param-value>
 	</context-param>
 
-   <!-- Suppress spurious stylesheets -->
+	<!-- Suppress spurious stylesheets -->
 
 	<context-param>
 		<param-name>org.richfaces.CONTROL_SKINNING</param-name>
@@ -24,61 +22,50 @@
 		<param-value>disable</param-value>
 	</context-param>
 
-	<!-- Facelets development mode (disable in production) -->
-	<context-param>
-		<param-name>facelets.DEVELOPMENT</param-name>
-		<param-value>${seam.debug}</param-value>
-	</context-param>
-
 	<!-- JSF -->
 	<context-param>
 		<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
 		<param-value>.xhtml</param-value>
 	</context-param>
 
-	<!-- Ajax4jsf very important: http://jira.jboss.com/jira/browse/RF-1767 -->
-	<filter>
-		<display-name>Ajax4jsf Filter</display-name>
-		<filter-name>ajax4jsf</filter-name>
-		<filter-class>org.ajax4jsf.Filter</filter-class>
-	</filter>
+
+	<!-- Seam -->
+
+	<listener>
+		<listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
+	</listener>
 
 	<filter>
 		<filter-name>Seam Filter</filter-name>
 		<filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
 	</filter>
 
-	<filter-mapping>
-		<filter-name>ajax4jsf</filter-name>
-		<url-pattern>*.seam</url-pattern>
-	</filter-mapping>
-
 	<filter-mapping>
 		<filter-name>Seam Filter</filter-name>
 		<url-pattern>/*</url-pattern>
 	</filter-mapping>
-	<!-- Seam -->
-
-	<listener>
-		<listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
-	</listener>
 
 	<servlet>
 		<servlet-name>Seam Resource Servlet</servlet-name>
 		<servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>
 	</servlet>
 
-	<servlet>
-		<servlet-name>Faces Servlet</servlet-name>
-		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
-		<load-on-startup>1</load-on-startup>
-	</servlet>
-
 	<servlet-mapping>
 		<servlet-name>Seam Resource Servlet</servlet-name>
 		<url-pattern>/seam/resource/*</url-pattern>
 	</servlet-mapping>
 
+	<!-- Facelets development mode (disable in production) -->
+	<context-param>
+		<param-name>facelets.DEVELOPMENT</param-name>
+		<param-value>${seam.debug}</param-value>
+	</context-param>
+
+	<servlet>
+		<servlet-name>Faces Servlet</servlet-name>
+		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+		<load-on-startup>1</load-on-startup>
+	</servlet>
 	<servlet-mapping>
 		<servlet-name>Faces Servlet</servlet-name>
 		<url-pattern>*.seam</url-pattern>
diff --git a/gazelle-proxy-war/src/main/webapp/error.xhtml b/gazelle-proxy-war/src/main/webapp/error.xhtml
index 1c3f88bd4f7fb3a695c415be83e47ba8ddcc212c..a74b537f0b553a37c0e2211a00a6351ba76c253a 100644
--- a/gazelle-proxy-war/src/main/webapp/error.xhtml
+++ b/gazelle-proxy-war/src/main/webapp/error.xhtml
@@ -10,8 +10,7 @@
 	<ui:define name="center">
 		<rich:panel id="errorpanel">
 			<h1>#{messages['net.ihe.gazelle.proxy.Error']}</h1>
-			<p>#{messages['net.ihe.gazelle.proxy.SomethingBadHappened']}</p>
-			<s:link view="/home.xhtml">#{messages['general.back']}</s:link>
+			<h:messages id="errorMessage" styleClass="message" />
 		</rich:panel>
 	</ui:define>
 </ui:composition>
\ No newline at end of file
diff --git a/gazelle-proxy-war/src/main/webapp/errorExpired.xhtml b/gazelle-proxy-war/src/main/webapp/errorExpired.xhtml
new file mode 100644
index 0000000000000000000000000000000000000000..1403f5187215828bbc95db3f4573d08c55f2060c
--- /dev/null
+++ b/gazelle-proxy-war/src/main/webapp/errorExpired.xhtml
@@ -0,0 +1,14 @@
+<!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" template="layout/template.xhtml">
+
+	<ui:param name="showGlobalMessages" value="#{messages['net.ihe.gazelle.pki.False']}" />
+	<ui:define name="body">
+		<h1>#{messages['net.ihe.gazelle.pki.Error']}</h1>
+		<p>#{messages['net.ihe.gazelle.pki.YourSessionHasTimedOutPleaseTryAgain']}.</p>
+	</ui:define>
+</ui:composition>
\ No newline at end of file