diff --git a/1_wiener_filter_solution.py b/1_wiener_filter_solution.py
index e56ea4431a92a04715d6014a5c5ed9954fea8d3d..ea2c535f3cdf1578ea53113a075228d58006ebe5 100644
--- a/1_wiener_filter_solution.py
+++ b/1_wiener_filter_solution.py
@@ -53,9 +53,11 @@ m = D(j)
 plot_WF('1_result', ground_truth, data, m)
 
 N = ift.SamplingDtypeSetter(N, np.float64)
-S_h = ift.SamplingDtypeSetter(S_h, np.float64)
-S = ift.SandwichOperator.make(HT.adjoint, S_h)
-Dinv = ift.WienerFilterCurvature(R, N, S, IC, IC)
+# The following S adds information necessary for sampling to the above
+# defined S.
+S = ift.SandwichOperator.make(HT.adjoint,
+                              ift.SamplingDtypeSetter(S_h, np.float64))
+Dinv = ift.WienerFilterCurvature(R, N, S, IC, IC, None, None)
 N_samples = 10
 samples = [Dinv.draw_sample(from_inverse=True) + m for i in range(N_samples)]
 
diff --git a/nifty b/nifty
index cbfec03876b2ccf3fa97eccf4987d8722334de6d..b07033aa8221b419cd0e5de671a199025afcb659 160000
--- a/nifty
+++ b/nifty
@@ -1 +1 @@
-Subproject commit cbfec03876b2ccf3fa97eccf4987d8722334de6d
+Subproject commit b07033aa8221b419cd0e5de671a199025afcb659