diff --git a/src/crop/cropmodels.jl b/src/crop/cropmodels.jl
index 0d2a68b64693beba8f83de090a7c0f5d049f78e6..4030860c1e57559b3d1152991bea791d005b7ac9 100644
--- a/src/crop/cropmodels.jl
+++ b/src/crop/cropmodels.jl
@@ -53,7 +53,8 @@ function initfields!(model::SimulationModel)
                 push!(model.farmplots[objectid].pixels, (x,y))
             else
                 cropstate = makecropstate(model)
-                fp = FarmPlot(length(model.farmplots) + 1, [(x, y)], -1, cropstate)
+                soiltype = model.landscape[x,y].soiltype
+                fp = FarmPlot(length(model.farmplots) + 1, [(x, y)], -1, soiltype, cropstate)
                 push!(model.farmplots, fp)
                 model.landscape[x,y].fieldid = fp.id
                 convertid[rawid] = fp.id
diff --git a/src/crop/farmplot.jl b/src/crop/farmplot.jl
index c44d6ad85d2c56f37784ae7df9c9cab89f3d361d..f676276569d827c4b986129b176db8ea59a8865e 100644
--- a/src/crop/farmplot.jl
+++ b/src/crop/farmplot.jl
@@ -12,6 +12,7 @@ mutable struct FarmPlot{T} <: ModelAgent
     const id::Int64
     pixels::Vector{Tuple{Int64, Int64}}
     farmer::Int64
+    soiltype::SoilType
     cropstate::T
 end
 
diff --git a/test/crop_tests.jl b/test/crop_tests.jl
index 23200a7bf70dd96deb4f84ca6a9e316204b1ba8e..f404a3e7d389f6b49004e28dd88035965f290678 100644
--- a/test/crop_tests.jl
+++ b/test/crop_tests.jl
@@ -31,7 +31,7 @@ end
     mature = false
     events = Ps.Management[]
     force_growth = false
-    fp = FarmPlot(id, pixels, farmer, Ps.ALMaSS.CropState(croptype=ct, phase=Ps.ALMaSS.janfirst))
+    fp = FarmPlot(id, pixels, farmer, Ps.soiltype_nodata, Ps.ALMaSS.CropState(croptype=ct, phase=Ps.ALMaSS.janfirst))
     @test fp isa FarmPlot
     @test fp isa FarmPlot{Ps.ALMaSS.CropState}
     @test croptype(fp) isa Ps.ALMaSS.CropType
@@ -46,7 +46,7 @@ end
     id = 0
     pixels = [(0, 0)]
     farmer = 0
-    fp = FarmPlot(id, pixels, farmer, Ps.SimpleCrop.CropState(ct, 0.0cm))
+    fp = FarmPlot(id, pixels, farmer, Ps.soiltype_nodata, Ps.SimpleCrop.CropState(ct, 0.0cm))
     @test fp isa FarmPlot
     @test fp isa FarmPlot{Ps.SimpleCrop.CropState}
     @test croptype(fp) isa Ps.SimpleCrop.CropType
diff --git a/test/nature_tests.jl b/test/nature_tests.jl
index 1e829fc9d7b6f9e30c542dce8c2741759ba57560..fcbf97f5e4f1518d1307e13315ed9b26b323d2b9 100644
--- a/test/nature_tests.jl
+++ b/test/nature_tests.jl
@@ -49,7 +49,7 @@ end) # end eval
     model = inittestmodel()
     model.landscape[6,6] = Pixel(Ps.agriculture, Ps.soiltype_sand, 1, [], [], [])
     fp = Ps.FarmPlot(
-        1, [(6,6)], 1,
+        1, [(6,6)], 1, Ps.soiltype_nodata,
         Ps.ALMaSS.CropState(
             croptype = model.crops["winter wheat"],
             phase = Ps.ALMaSS.janfirst,