diff --git a/zUtil_Deformation/GtGrainODFuvwSolver.m b/zUtil_Deformation/GtGrainODFuvwSolver.m
index 282b8a7d1660cd4b8aec0c9fad4ce82993017d89..82074622df662f008039c6aae4513fc852c4c4be 100644
--- a/zUtil_Deformation/GtGrainODFuvwSolver.m
+++ b/zUtil_Deformation/GtGrainODFuvwSolver.m
@@ -26,8 +26,11 @@ classdef GtGrainODFuvwSolver < GtGrainODFwSolver
             switch (self.shape_functions_type)
                 case 'nw2uvw'
 
-                    sf_nw = gtDefShapeFunctionsCreateNW(self.sampler, 2, ...
+                    sf_nw = gtDefShapeFunctionsFwdProj(self.sampler, ...
+                        'shape_function_type', 'nw', ...
                         'data_type', self.data_type);
+%                     sf_nw = gtDefShapeFunctionsCreateNW(self.sampler, 2, ...
+%                         'data_type', self.data_type);
 
                     for ii_v = 1:num_vox_centers
                         fprintf('(%03d/%03d) ', ii_v, num_vox_centers);
diff --git a/zUtil_Deformation/GtGrainODFwSolver.m b/zUtil_Deformation/GtGrainODFwSolver.m
index b6116a6f01e105176bd7e644d5b67d4093d7d948..5359fbbbf875bf02e7dfbd0348004ab86e33e966 100644
--- a/zUtil_Deformation/GtGrainODFwSolver.m
+++ b/zUtil_Deformation/GtGrainODFwSolver.m
@@ -99,7 +99,10 @@ classdef GtGrainODFwSolver < handle
                 case 'none'
                     self.shape_functions = [];
                 case 'w'
-                    self.shape_functions = gtDefShapeFunctionsCreateW(self.sampler);
+                    self.shape_functions = gtDefShapeFunctionsFwdProj(self.sampler, ...
+                        'shape_function_type', 'w', ...
+                        'data_type', self.data_type);
+%                     self.shape_functions = gtDefShapeFunctionsCreateW(self.sampler);
             end
         end