### Eclipse Workspace Patch 1.0
#P cocoon-servlet-service-components
Index: src/main/java/org/apache/cocoon/servletservice/components/ServletSource.java
===================================================================
--- src/main/java/org/apache/cocoon/servletservice/components/ServletSource.java	(revision 731081)
+++ src/main/java/org/apache/cocoon/servletservice/components/ServletSource.java	(working copy)
@@ -84,7 +84,8 @@
                        + "The servlet returned " + servletConnection.getResponseCode() + " response code.");
             
             // FIXME: This is not the most elegant solution
-            if (servletConnection.getResponseCode() != HttpServletResponse.SC_OK) {
+            int rc = servletConnection.getResponseCode(); 
+            if (rc != HttpServletResponse.SC_OK) {
                 //most probably, servlet returned 304 (not modified) and we need to perform second request to get data
 
                 //
@@ -94,7 +95,15 @@
                 //       and, as a result, GET request instead of POST.
                 //
 
-                servletConnection = createServletConnection(location);
+            	if (rc == HttpServletResponse.SC_FOUND) {
+            		// if request sent a redirect status code
+            		// we shall connect to the new location
+            		String redirectUrl = servletConnection.getRedirectURI().toString();
+            		servletConnection = createServletConnection(redirectUrl);
+            	} else {
+            		servletConnection = createServletConnection(location);
+            	}
+            	
                 servletConnection.connect();
             }
 
