diff --git a/GAMS/IntExtOpt.gms b/GAMS/IntExtOpt.gms
index 5c0b442d41016a4a1964d089b434680737186add..d3cf16ca35792b711aed03b9ba6f87a7d8d1c09a 100644
--- a/GAMS/IntExtOpt.gms
+++ b/GAMS/IntExtOpt.gms
@@ -118,11 +118,11 @@ $gdxin
               pasture           1.4     / ;
               
  PARAMETER baseCost(crop)  base cost per hectare
-        /     wheat             0.08
+        /     wheat             0.10
               maize             0.08
               rice              0.08
               oilcropsNFix      0.16
-              oilcropsOther     0.08
+              oilcropsOther     0.14
               pulses            0.08
               starchyRoots      0.08
               fruitveg          0.08
@@ -133,11 +133,14 @@ $gdxin
 
  PARAMETER otherIntCost(crop);
  otherIntCost(crop) = prodCost(crop) * otherICost;
- 
+
+
  PARAMETER animalProdCost(animal)
           /   ruminants       0.20
               monogastrics    0.20  /;
               
+ fertiliserUnitCost = 1.2;
+              
 
  PARAMETER previousNetImport(import_types);
  previousNetImport(import_types) = previousImportAmount(import_types) - previousExportAmount(import_types);
diff --git a/src/ac/ed/lurg/ModelConfig.java b/src/ac/ed/lurg/ModelConfig.java
index 5ab6c2388e138c7c17a2aec342f57d4553262300..31c1c2ab33fdcbc13a84c4cd41a9d4cad843d728 100755
--- a/src/ac/ed/lurg/ModelConfig.java
+++ b/src/ac/ed/lurg/ModelConfig.java
@@ -238,8 +238,8 @@ public class ModelConfig {
 	public static final double INITAL_PRICE_MONOGASTRICS = getDoubleProperty("INITAL_PRICE_MONOGASTRICS", 0.318 * ModelConfig.INITIAL_PRICE_SHIFT); // value from calibration
 	public static final double INITAL_PRICE_RUMINANTS = getDoubleProperty("INITAL_PRICE_RUMINANTS", 0.246 * ModelConfig.INITIAL_PRICE_SHIFT); // value from calibration
 	public static final double INITAL_PRICE_ENERGYCROPS = getDoubleProperty("INITAL_PRICE_ENERGYCROPS", 0.0377 * ModelConfig.INITIAL_PRICE_SHIFT);
-	public static final double INITAL_PRICE_FRUITVEG = getDoubleProperty("INITAL_PRICE_FRUITVEG", 0.0656 * ModelConfig.INITIAL_PRICE_SHIFT);
-	public static final double INITAL_PRICE_SUGAR = getDoubleProperty("INITAL_PRICE_SUGAR", 0.0213 * ModelConfig.INITIAL_PRICE_SHIFT);
+	public static final double INITAL_PRICE_FRUITVEG = getDoubleProperty("INITAL_PRICE_FRUITVEG", 0.0506 * ModelConfig.INITIAL_PRICE_SHIFT);
+	public static final double INITAL_PRICE_SUGAR = getDoubleProperty("INITAL_PRICE_SUGAR", 0.0113 * ModelConfig.INITIAL_PRICE_SHIFT);
 
 	// These are initial demand system prices in 2000 kcal terms
 	public static final double INITAL_DEMAND_PRICE_CEREALS_STARCHY_ROOTS = getDoubleProperty("INITAL_DEMAND_PRICE_CEREALS_STARCHY_ROOTS", 110.23);
@@ -331,7 +331,8 @@ public class ModelConfig {
 	// Calibration related stuff
 	public static final boolean IS_CALIBRATION_RUN = getBooleanProperty("IS_CALIBRATION_RUN", false);
 	public static final String CALIB_DIR = IS_CALIBRATION_RUN ? OUTPUT_DIR : getProperty("CALIB_DIR", OUTPUT_DIR);
-	public static final int END_FIRST_STAGE_CALIBRATION = getIntProperty("END_FIRST_STAGE_CALIBRATION", 1);
+	public static final int END_FIRST_STAGE_CALIBRATION = getIntProperty("END_FIRST_STAGE_CALIBRATION", 5); // Keep trade fixed
+	public static final int END_SECOND_STAGE_CALIBRATION = getIntProperty("END_SECOND_STAGE_CALIBRATION", 20); // Keep land cover fixed
 	public static final String SERIALIZED_LAND_USE_FILENAME = "landUseRaster.ser";
 	public static final String SERIALIZED_CROP_USAGE_FILENAME = "countryCropUsages.ser";
 	public static final String SERIALIZED_INTERNATIONAL_MARKET_FILENAME = "internationalMarket.ser";
@@ -409,10 +410,10 @@ public class ModelConfig {
 	public static final String CONVERSION_COST_FILE = getProperty("CONVERSION_COST_FILE", DATA_DIR + File.separator + "conversion_costs.csv"); // cost of converting from one land cover to another, $1000/ha
 	public static final double LAND_CONVERSION_COST_FACTOR = getDoubleProperty("LAND_CONVERSION_COST_FACTOR", 1.0); // for monte carlo
 	public static final double AGRI_LAND_EXPANSION_COST_FACTOR = getDoubleProperty("AGRI_LAND_EXPANSION_COST_FACTOR", 1.0); // for monte carlo
-	public static final double CROPLAND_CONVERSION_COST = getDoubleProperty("CROPLAND_CONVERSION_COST", 0.16 * LAND_CONVERSION_COST_FACTOR);
-	public static final double PASTURE_CONVERSION_COST = getDoubleProperty("PASTURE_CONVERSION_COST", 0.1 * LAND_CONVERSION_COST_FACTOR);
-	public static final double FOREST_CONVERSION_COST = getDoubleProperty("FOREST_CONVERSION_COST", 0.24 * LAND_CONVERSION_COST_FACTOR);
-	public static final double NATURAL_CONVERSION_COST = getDoubleProperty("NATURAL_CONVERSION_COST", 0.04 * LAND_CONVERSION_COST_FACTOR);
+	public static final double CROPLAND_CONVERSION_COST = getDoubleProperty("CROPLAND_CONVERSION_COST", 0.3 * LAND_CONVERSION_COST_FACTOR);
+	public static final double PASTURE_CONVERSION_COST = getDoubleProperty("PASTURE_CONVERSION_COST", 0.2 * LAND_CONVERSION_COST_FACTOR);
+	public static final double FOREST_CONVERSION_COST = getDoubleProperty("FOREST_CONVERSION_COST", 0.5 * LAND_CONVERSION_COST_FACTOR);
+	public static final double NATURAL_CONVERSION_COST = getDoubleProperty("NATURAL_CONVERSION_COST", 0.02 * LAND_CONVERSION_COST_FACTOR);
 
 	public static final double TECHNOLOGY_CHANGE_ANNUAL_RATE = getDoubleProperty("TECHNOLOGY_CHANGE_ANNUAL_RATE", 0.002);
 	public static final int TECHNOLOGY_CHANGE_START_STEP = getIntProperty("TECHNOLOGY_CHANGE_START_STEP", 0);
@@ -455,7 +456,7 @@ public class ModelConfig {
 
 	public static final double IRRIG_COST_SCALE_FACTOR = getDoubleProperty("IRRIG_COST_SCALE_FACTOR", 0.00035);
 	public static final double IRRIG_COST_MULTIPLIER = getDoubleProperty("IRRIG_COST_MULTIPLIER", 1.0);
-	public static final double FERTILISER_COST_PER_T = getDoubleProperty("FERTILISER_COST_PER_T", 1.4); // $1000 per tonne
+	public static final double FERTILISER_COST_PER_T = getDoubleProperty("FERTILISER_COST_PER_T", 1.2); // $1000 per tonne
 	public static final double FERTILISER_MAX_COST = FERTILISER_COST_PER_T * MAX_FERT_AMOUNT/1000;
 
 	public static final double DOMESTIC_PRICE_MARKUP = getDoubleProperty("DOMESTIC_PRICE_MARKUP", 1.0);
diff --git a/src/ac/ed/lurg/landuse/ConversionCostReader.java b/src/ac/ed/lurg/landuse/ConversionCostReader.java
index c2420d048cfd441e567f302181173e6c57bdb6fc..8315101b1347c93e5e2004174d318d7e35f0a379 100644
--- a/src/ac/ed/lurg/landuse/ConversionCostReader.java
+++ b/src/ac/ed/lurg/landuse/ConversionCostReader.java
@@ -3,6 +3,7 @@ package ac.ed.lurg.landuse;
 import java.io.BufferedReader;
 import java.io.FileReader;
 import java.io.IOException;
+import java.sql.Time;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -17,9 +18,11 @@ public class ConversionCostReader {
 	private static final int TO_COL = 1;
 	private static final int COST_COL = 2;
 	private Map<LccKey, Double> conversionCosts = new HashMap<LccKey, Double>();
+	private Timestep timestep;
 
 	
 	public ConversionCostReader(Timestep timestep) {
+		this.timestep = timestep;
 		if (ModelConfig.CONVERSION_COSTS_FROM_FILE) {
 			read();
 		} else {
@@ -92,6 +95,11 @@ public class ConversionCostReader {
 					double baseCost = conversionCosts.get(key);
 					conversionCosts.put(key, baseCost * ModelConfig.AGRI_LAND_EXPANSION_COST_FACTOR);
 				}
+
+				// Allow countries to adjust trade without changing land cover too much
+				if (timestep.getTimestep() < ModelConfig.END_SECOND_STAGE_CALIBRATION & ModelConfig.IS_CALIBRATION_RUN) {
+					conversionCosts.put(key, 100.0);
+				}
 			}
 		}
 	}