diff --git a/src/GRHD/GRHD.jl b/src/GRHD/GRHD.jl
index 21a0a31ea2de59f80f352374cea66383514667b2..b4c8c6c7184b74cf33656da507779a7e68758dc3 100644
--- a/src/GRHD/GRHD.jl
+++ b/src/GRHD/GRHD.jl
@@ -132,6 +132,13 @@ dg1d.@parameters GRHD begin
   av_drag = 0.0
   @check 0.0 <= av_drag <= 1.0
 
+  """
+  If `true` apply the AV sensor to `log(|D|)`, otherwise use `D`,
+  where `D` is the state variable for the rest-mass density (including the volume factor).
+  """
+  av_sensor_abslog_D = false
+  @check av_mda_abslog_D isa Bool
+
   """
   For testing purposes.
   """
diff --git a/src/GRHD/callbacks.jl b/src/GRHD/callbacks.jl
index 840fe3550a4f6b867e14b7a42bc67fbb341b8851..265baf3e6b354c206d2302dc0662506b9f9c44e1 100644
--- a/src/GRHD/callbacks.jl
+++ b/src/GRHD/callbacks.jl
@@ -331,24 +331,26 @@ function compute_hrsc(P, equation, mesh, hrsc::HRSC.AbstractArtificialViscosity)
   @unpack max_v, v, ρ, ϵ, v, p, r = get_static_variables(mesh)
   @unpack mu, tmp_mu, cellmax_v   = get_cell_variables(mesh)
   @unpack t, tm1                  = get_global_variables(mesh)
+  @unpack av_sensor_abslog_D = P.prms
+  @unpack av_u = get_static_variables(mesh)
   if formulation(P) === :doublecartoon
     @unpack rD = get_dynamic_variables(mesh)
-    @unpack abslog_rD = get_static_variables(mesh)
-    @. abslog_rD = log10.(abs.(rD))
+    if av_sensor_abslog_D
+      @. av_u = log10(abs(rD))
+    else
+      @. av_u = rD
+    end
     fill!(tmp_mu, 0.0)
-    HRSC.compute_viscosity!(
-        mu, tmp_mu,
-        (abslog_rD,), cellmax_v,
-        hrsc)
+    HRSC.compute_viscosity!(mu, av_u, cellmax_v, hrsc)
   elseif formulation(P) === :spherical1d
     @unpack D = get_dynamic_variables(mesh)
-    @unpack abslog_D = get_static_variables(mesh)
-    @. abslog_D = log10.(abs.(D))
+    if av_sensor_abslog_D
+      @. av_u = log10(abs(D))
+    else
+      @. av_u = D
+    end
     fill!(tmp_mu, 0.0)
-    HRSC.compute_viscosity!(
-        mu, tmp_mu,
-        (abslog_D,), cellmax_v,
-        hrsc)
+    HRSC.compute_viscosity!(mu, av_u, cellmax_v, hrsc)
   else
     TODO(formulation(P))
   end
diff --git a/src/GRHD/setup.jl b/src/GRHD/setup.jl
index 2dc1b712a426b325bde49fdfedec0bd46e3fcc1f..f7e18af8da12347f0aada5b49d4e41d879a5ba3c 100644
--- a/src/GRHD/setup.jl
+++ b/src/GRHD/setup.jl
@@ -27,6 +27,7 @@ function Project(env::Environment, prms)
   end
 
   av_drag = prms["GRHD"]["av_drag"]
+  av_sensor_abslog_D = Bool(prms["GRHD"]["av_sensor_abslog_D"])
   slope_limiter_method = Symbol(prms["GRHD"]["slope_limiter_method"])
   slope_limiter_tvb_M = prms["GRHD"]["slope_limiter_tvb_M"]
   c2p_dynamic_atm = prms["GRHD"]["c2p_dynamic_atm"]
@@ -46,7 +47,7 @@ function Project(env::Environment, prms)
                  bernstein, slope_limiter_method, slope_limiter_tvb_M,
                  c2p_dynamic_atm, atm_evolve,
                  c2p_set_atmosphere_on_failure, c2p_enforce_causal_atm, c2p_enforce_atm,
-                 av_drag, problem, freeze_vars,
+                 av_drag, av_sensor_abslog_D, problem, freeze_vars,
                  id, bc, hrsc, fv_numerical_flux)
 
   # construct Project
@@ -509,7 +510,7 @@ end
 function register_hrsc!(mesh, P::Project{:valencia1d}, hrsc::HRSC.AbstractArtificialViscosity)
   register_variables!(mesh,
     static_variablenames  = (:ldg_rD, :ldg_rSr, :ldg_rτ,
-                             :abslog_D, :abslog_Ï„),
+                             :av_u),
     bdry_variablenames    = (:bdry_ldg_rD, :bdry_ldg_rSr, :bdry_ldg_rτ,
                              :bdry_smoothed_mu,
                              :bdry_rhs_rD, :bdry_rhs_rSr, :bdry_rhs_rτ),
@@ -525,7 +526,7 @@ end
 function register_hrsc!(mesh, P::Project{:spherical1d}, hrsc::HRSC.AbstractArtificialViscosity)
   register_variables!(mesh,
     static_variablenames  = (:ldg_D, :ldg_Sr, :ldg_Ï„,
-                             :abslog_D, :abslog_Ï„),
+                             :av_u),
     bdry_variablenames    = (:bdry_ldg_D, :bdry_ldg_Sr, :bdry_ldg_Ï„,
                              :bdry_smoothed_mu,
                              :bdry_rhs_D, :bdry_rhs_Sr, :bdry_rhs_Ï„),
@@ -541,7 +542,7 @@ end
 function register_hrsc!(mesh, P::Project{:doublecartoon}, hrsc::HRSC.AbstractArtificialViscosity)
   register_variables!(mesh,
     static_variablenames  = (:ldg_rD, :ldg_rSx, :ldg_rτ,
-                             :abslog_rD),
+                             :av_u),
     bdry_variablenames    = (:bdry_ldg_rD, :bdry_ldg_rSx, :bdry_ldg_rτ,
                              :bdry_smoothed_mu,
                              :bdry_rhs_rD, :bdry_rhs_rSx, :bdry_rhs_rτ),
diff --git a/test/IntegrationTests/refs/grhd_bondi_infall_avmda/grhd_bondi_infall_avmda.toml b/test/IntegrationTests/refs/grhd_bondi_infall_avmda/grhd_bondi_infall_avmda.toml
index a5265ad9535316d2be6ab17e9c5e228524d5cb9b..de8c6c7bc4cad23e672b6463e3756f01d4caf487 100644
--- a/test/IntegrationTests/refs/grhd_bondi_infall_avmda/grhd_bondi_infall_avmda.toml
+++ b/test/IntegrationTests/refs/grhd_bondi_infall_avmda/grhd_bondi_infall_avmda.toml
@@ -10,6 +10,7 @@ variables0d_analyze_error = ["ρ", "D"]
 variables1d_analyze_error = ["ρ", "D"]
 analyze_error_reference_solution = "bondi_accretion"
 c2p_enforce_causal_atm = false
+av_sensor_abslog_D = true
 
 [Mesh]
 range = [ 1.8, 20.0 ]