Index: src/org/openstreetmap/osmosis/core/pgsql/v0_6/impl/WayMapper.java
===================================================================
--- src/org/openstreetmap/osmosis/core/pgsql/v0_6/impl/WayMapper.java	(revision 15457)
+++ src/org/openstreetmap/osmosis/core/pgsql/v0_6/impl/WayMapper.java	(working copy)
@@ -144,8 +144,12 @@
 		prmIndex = populateEntityParameters(statement, initialIndex, way);
 		
 		try {
-			for (int i = 0; i < geometries.size(); i++) {
-				statement.setObject(prmIndex++, new PGgeometry(geometries.get(i)));
+			for (int i = 0; i < geometries.size(); i++) {				
+				if(geometries.get(i) == null) {
+					statement.setObject(prmIndex++,null);
+				}else {
+					statement.setObject(prmIndex++, new PGgeometry(geometries.get(i)));
+				}
 			}
 			
 		} catch (SQLException e) {
@@ -153,6 +157,12 @@
 				"Unable to set the bbox for way " + way.getId() + ".",
 				e
 			);
+		} catch (NullPointerException e) {
+			throw new OsmosisRuntimeException(
+                                "NullPointerException!! ",
+                                e
+                        );
+
 		}
 		
 		return prmIndex;
Index: src/org/openstreetmap/osmosis/core/pgsql/v0_6/impl/WayGeometryBuilder.java
===================================================================
--- src/org/openstreetmap/osmosis/core/pgsql/v0_6/impl/WayGeometryBuilder.java	(revision 15457)
+++ src/org/openstreetmap/osmosis/core/pgsql/v0_6/impl/WayGeometryBuilder.java	(working copy)
@@ -3,6 +3,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.logging.Logger;
 
 import org.openstreetmap.osmosis.core.OsmosisRuntimeException;
 import org.openstreetmap.osmosis.core.domain.v0_6.Node;
@@ -22,6 +23,7 @@
  * @author Brett Henderson
  */
 public class WayGeometryBuilder implements Releasable {
+	private static final Logger LOG = Logger.getLogger(WayGeometryBuilder.class.getName());
 	/**
 	 * Stores the locations of nodes so that they can be used to build the way
 	 * geometries.
@@ -175,13 +177,14 @@
 				numValidNodes++;
 				linePoints.add(new Point(nodeLocation.getLongitude(), nodeLocation.getLatitude()));
 			} else {
-				return null;
+				LOG.warning("Node " + wayNode.getNodeId() + "is referenced in way "+ way.getId()+ ", but not defined! Skipping Reference in geometry!");
 			}
 		}
 	
 		if (numValidNodes >= 2) {	
 			return createLinestring(linePoints);
 		} else {
+			LOG.warning("Cannot build Linestring, for way " + way.getId() + " as a minimum of 2 nodes is needed!");
 			return null;
 		}
 	}
