diff --git a/zUtil_Deformation/Gt6DBlobReconstructor.m b/zUtil_Deformation/Gt6DBlobReconstructor.m
index 0277ea06ffd63f8513a287b9cfcfbee7d523eeeb..8747ac178df8d1320ec7170b2217ecb1dff67aa4 100644
--- a/zUtil_Deformation/Gt6DBlobReconstructor.m
+++ b/zUtil_Deformation/Gt6DBlobReconstructor.m
@@ -28,7 +28,7 @@ classdef Gt6DBlobReconstructor < Gt6DVolumeToBlobProjector
     end
 
     properties (Constant)
-        possible_detector_norms = {'l2', 'kl'};
+        possible_detector_norms = {'l2', 'kl', 'l1'};
         possible_tv_norms = {'l12', 'l1', 'ln'};
         possible_tv_strategies = {'groups', 'volume'};
     end
@@ -517,6 +517,11 @@ classdef Gt6DBlobReconstructor < Gt6DVolumeToBlobProjector
                             p{n} = p{n} .* sigma_1{n};
                         end
                     end
+                case 'l1'
+                    for n = 1:numel(p)
+                        p{n} = p{n} + sigma{n} .* (proj_bls{n} - self.blobs{n});
+                        p{n} = p{n} ./ max(1, abs(p{n}));
+                    end
             end
             self.statistics.add_timestamp(toc(c), 'cp_dual_update_detector', 'cp_dual_detector_prox');
         end