diff --git a/src/ac/ed/lurg/landuse/AreasItem.java b/src/ac/ed/lurg/landuse/AreasItem.java
index cdc7d3d0a884e046cae6f414942850acade00c29..daffeac04ecadcdca553ba4f35207b6b25075011 100644
--- a/src/ac/ed/lurg/landuse/AreasItem.java
+++ b/src/ac/ed/lurg/landuse/AreasItem.java
@@ -78,6 +78,15 @@ public class AreasItem implements RasterItem {
 		
 		landCoverAreas.put(c, d);
 	}
+	
+	public double getTotalLandCoverArea() {
+		double d = 0;
+		for (LandCoverType l : LandCoverType.values()) {
+			d += getLandCoverArea(l);
+		}
+		
+		return d;
+	}
 		
 	public double getSuitableLand() {
 		double d = 0;
diff --git a/src/ac/ed/lurg/output/LpjgOutputer.java b/src/ac/ed/lurg/output/LpjgOutputer.java
index 6962f9e0f55cedbd9d8b0b1111895f913072e8dc..3f208c455f3f01b7b4beed674712333733e91311 100644
--- a/src/ac/ed/lurg/output/LpjgOutputer.java
+++ b/src/ac/ed/lurg/output/LpjgOutputer.java
@@ -89,7 +89,13 @@ public class LpjgOutputer {
 				double lat = cropAreaRaster.getXCoordin(key);
 				double lon = cropAreaRaster.getYCoordin(key);
 
-				double area = cropAreaRaster.getAreaMha(key);
+				double expectedArea = cropAreaRaster.getAreaMha(key);
+				double area = item.getTotalLandCoverArea();
+				
+				if (area > 0 && Math.abs((expectedArea-area)/expectedArea) > 0.01) {  // zero area, due to data not being found, already reported so ignored here
+					LogWriter.printlnError("Land cover areas look strange " + key + ": expected=" + expectedArea + ", actual=" + area);
+				}
+				
 				double crop = item.getLandCoverArea(LandCoverType.CROPLAND);
 				double pasture = item.getLandCoverArea(LandCoverType.PASTURE);
 				double forest = item.getLandCoverArea(LandCoverType.FOREST);