Index: tests/Layer/WMS.html
===================================================================
--- tests/Layer/WMS.html	(revision 11866)
+++ tests/Layer/WMS.html	(working copy)
@@ -229,7 +229,7 @@
     function test_Layer_WMS_getFullRequestString (t) {
 
 
-        t.plan( 3 );
+        t.plan( 4 );
         var map = new OpenLayers.Map('map');
         map.projection = "xx";
         var tUrl = "http://octo.metacarta.com/cgi-bin/mapserv";
@@ -271,8 +271,22 @@
              "getFullRequestString() uses the layer projection if it equals the map projection");
         map.destroy();
 
+        map = new OpenLayers.Map("map", {projection: "EPSG:4326"});
+        map.addLayer(new OpenLayers.Layer(null, {isBaseLayer: true}));
+        tLayer = new OpenLayers.Layer.WMS(name, tUrl);
+        tLayer.map = map;
+        var error;
+        try {
+            tLayer.getFullRequestString();
+            error = false;
+        } catch(err) {
+            error = true;
     }
+        t.ok(!error, "no error on getFullRequestString if layer has no projection");
+        map.destroy();
 
+    }
+
     function test_Layer_WMS_setOpacity (t) {
         t.plan( 5 );
 
Index: lib/OpenLayers/Layer/WMS.js
===================================================================
--- lib/OpenLayers/Layer/WMS.js	(revision 11866)
+++ lib/OpenLayers/Layer/WMS.js	(working copy)
@@ -237,7 +237,7 @@
      */
     getFullRequestString:function(newParams, altUrl) {
         var mapProjection = this.map.getProjectionObject();
-        var projectionCode = this.projection.equals(mapProjection) ?
+        var projectionCode = this.projection && this.projection.equals(mapProjection) ?
             this.projection.getCode() :
             mapProjection.getCode();
         var value = (projectionCode == "none") ? null : projectionCode;
