diff -ur geos-3.1.1-orig/tests/unit/geos_unit.cpp geos-3.1.1/tests/unit/geos_unit.cpp
--- geos-3.1.1-orig/tests/unit/geos_unit.cpp	Thu Apr  9 02:00:33 2009
+++ geos-3.1.1/tests/unit/geos_unit.cpp	Tue Dec  8 15:30:30 2009
@@ -76,9 +76,12 @@
             tut::groupnames gl = tut::runner.get().list_groups();
             tut::groupnames::const_iterator b = gl.begin();
             tut::groupnames::const_iterator e = gl.end();
-
+#ifndef _RWSTD_NO_MEMBER_TEMPLATES
             tut::groupnames::difference_type d = std::distance(b, e);
-
+#else
+            tut::groupnames::difference_type d;
+            std::distance(b, e, d);
+#endif
             std::cout << "Registered " << d << " test groups:\n" << std::endl;
             
             while ( b != e )
diff -ur geos-3.1.1-orig/tests/unit/operation/union/CascadedPolygonUnionTest.cpp geos-3.1.1/tests/unit/operation/union/CascadedPolygonUnionTest.cpp
--- geos-3.1.1-orig/tests/unit/operation/union/CascadedPolygonUnionTest.cpp	Thu Apr  9 02:00:30 2009
+++ geos-3.1.1/tests/unit/operation/union/CascadedPolygonUnionTest.cpp	Tue Dec  8 16:23:17 2009
@@ -65,7 +65,7 @@
         return CascadedPolygonUnion::Union(geoms);
     }
 
-    void test_runner(test_unaryuniontest_data& t,
+    void geos_test_runner(test_unaryuniontest_data& t,
         std::vector<geos::geom::Polygon*>* geoms) 
     {
         std::auto_ptr<geos::geom::Geometry> union1(unionIterated(geoms));
@@ -111,9 +111,9 @@
             g.push_back(geom);
         }
 
-        test_runner(*this, &g); 
+        geos_test_runner(*this, &g); 
 
-        for_each(g.begin(), g.end(), delete_geometry);
+        std::for_each(g.begin(), g.end(), delete_geometry);
     }
 
     void create_discs(geos::geom::GeometryFactory& gf, int num, double radius, 
diff -ur geos-3.1.1-orig/tests/xmltester/XMLTester.cpp geos-3.1.1/tests/xmltester/XMLTester.cpp
--- geos-3.1.1-orig/tests/xmltester/XMLTester.cpp	Thu Apr  9 02:00:36 2009
+++ geos-3.1.1/tests/xmltester/XMLTester.cpp	Tue Dec  8 14:16:43 2009
@@ -858,8 +858,14 @@
 			LineMerger merger;
 			merger.add(gT);
 			std::auto_ptr< std::vector<geom::LineString *> > lines ( merger.getMergedLineStrings() );
+#ifndef _RWSTD_NO_MEMBER_TEMPLATES
 			std::vector<geom::Geometry *>*newgeoms = new std::vector<geom::Geometry *>(lines->begin(),
 					lines->end());
+#else
+			std::vector<geom::Geometry *>*newgeoms = new std::vector<geom::Geometry *>;
+			std::copy(lines->begin(),lines->end(),std::back_inserter(*newgeoms));
+			
+#endif
 
 			GeomAutoPtr gRealRes(factory->createGeometryCollection(newgeoms));
 			gRealRes->normalize();

