diff --git a/src/EulerEq/rhs.jl b/src/EulerEq/rhs.jl
index f8891df8245ad9eb121329d1c1bcfc10bac7e60b..4912aea4b09233a28c12a70975a8110eb211cb53 100644
--- a/src/EulerEq/rhs.jl
+++ b/src/EulerEq/rhs.jl
@@ -17,40 +17,29 @@ end
 function timestep(env, P::Project, hrsc::Maybe{HRSC.AbstractHRSC}, mesh::Mesh1d)
   vmax = compute_maxspeed(mesh, P.equation, mesh.cache)
   dl = min_grid_spacing(mesh)
-  dt = dl / (vmax * dtfactor(mesh))
+  dt = dl / (2*vmax)
   return dt
 end
-dtfactor(mesh::Mesh1d{FVElement}) = 2
-dtfactor(mesh::Mesh1d{DGElement}) = mesh.element.N
 
 
 function timestep(env, P::Project, hrsc::HRSC.AbstractArtificialViscosity, ::Mesh1d)
   @unpack cache, mesh = env
   @unpack equation = P
 
-  broadcast_volume!(maxspeed, equation, mesh)
-  v = get_variable(cache, :v)
-  vmax = dg1d.absolute_maximum(view(v,:))
+  vmax = compute_maxspeed(mesh, equation, cache)
+  smoothed_mu = get_variable(cache, :smoothed_mu)
+  mumax = maximum(abs, smoothed_mu)
   vmax_limit = 1e4
   if vmax > vmax_limit
     @warn "Limiting timestep due to maximum speed exceeding $vmax_limit"
     vmax = vmax_limit
   end
-  smoothed_mu = get_variable(cache, :smoothed_mu)
-  mumax = dg1d.absolute_maximum(view(smoothed_mu, :))
 
-  @unpack element = mesh
-  @unpack N = element
-
-  L, = dg1d.widths(mesh)
-  K, = mesh.tree.dims
-  dL = L/K
+  @unpack N = mesh.element
   dl = min_grid_spacing(mesh)
-
-  N = dtfactor(mesh)
-  dt1 = dl / vmax
-  dt2 = dL^2 / (mumax * N^3)
-  dt = min(dt1, dt2)
+  dt1 = dl / (2*vmax)
+  dt2 = dl^2 / (4*mumax)
+  dt = 1.0 / (1.0/dt1 + 1.0/dt2)
 
   return dt
 end
@@ -81,7 +70,7 @@ function timestep(env, P::Project2d, hrsc::Maybe{HRSC.AbstractHRSC}, ::Mesh2d)
   dz = z[2]-z[1]
   dl = min(dx, dy) * dz
 
-  dt = dl / vmax
+  dt = dl / (2*vmax)
 
   return dt
 end
diff --git a/src/GRHD/rhs.jl b/src/GRHD/rhs.jl
index ad1cafa6fc8b387aa6879048f64bdb58ed1fc5de..d0e92156a1a0011d045a39a9a00d85b46bd00b44 100644
--- a/src/GRHD/rhs.jl
+++ b/src/GRHD/rhs.jl
@@ -34,26 +34,18 @@ function timestep(mesh, P::Project, hrsc::Maybe{HRSC.AbstractHRSC})
   vmax = get_maxspeed(mesh, P.equation)
   L, = dg1d.widths(mesh)
   K, = mesh.tree.dims
-  dl = if P.prms.dt_min_grid_spacing
-    min_grid_spacing(mesh)
-  else
-    L/K
-  end
-  dt = dl / (vmax * dtfactor(mesh))
+  dl = min_grid_spacing(mesh)
+  dt = dl / (2*vmax)
   return dt
 end
-dtfactor(mesh::Mesh1d{FVElement}) = 2
-dtfactor(mesh::Mesh1d{DGElement}) = 1
 
 function timestep(mesh::Mesh2d{DGElement}, P::Project, hrsc::Maybe{HRSC.AbstractHRSC})
   @unpack element = mesh
   @unpack N, z = element
   compute_maxspeed(P, P.equation, mesh)
   vmax = get_maxspeed(mesh, P.equation)
-  Lx, Ly = dg1d.widths(mesh.boxes[1])
-  Kx, Ky = mesh.tree.dims
-  dL = min(Lx/Kx, Ly/Ky)
-  dt = dL / (vmax * dtfactor(mesh))
+  dl = minimum(min_grid_spacing(mesh))
+  dt = dl / (2*vmax)
   return dt
 end
 
@@ -62,22 +54,17 @@ function timestep(mesh, P::Project, hrsc::HRSC.AbstractArtificialViscosity)
   @unpack equation = P
   @unpack smoothed_mu = get_static_variables(mesh)
   @unpack element = mesh
-  @unpack N = element
-  compute_maxspeed(P, P.equation, mesh)
-  vmax = get_maxspeed(mesh, P.equation)
+
+  compute_maxspeed(P, equation, mesh)
+  vmax = get_maxspeed(mesh, equation)
   mumax = maximum(abs, smoothed_mu)
-  L, = dg1d.widths(mesh)
-  K, = mesh.tree.dims
-  dL = L/K
+
+  @unpack N = mesh.element
   dl = min_grid_spacing(mesh)
-  dt1 = dl / (vmax * N)
-  dt2 = dL^2 / (mumax * N^3)
-  dt = min(dt1, dt2)
-  dt_limit = 1e-7
-  if dt < dt_limit
-    @warn "Limiting timestep due to dt being smaller than $dt_limit"
-    dt = dt_limit
-  end
+  dt1 = dl / (2*vmax)
+  dt2 = dl^2 / (4*mumax)
+  dt = 1.0 / (1.0/dt1 + 1.0/dt2)
+
   return dt
 end
 
diff --git a/src/SRHD/rhs.jl b/src/SRHD/rhs.jl
index 58ac2239d3762d7f13ff200d1f19cee62fdbbc6b..5a2e974b77ba329028e955e3f01c78ba46c32443 100644
--- a/src/SRHD/rhs.jl
+++ b/src/SRHD/rhs.jl
@@ -9,25 +9,25 @@ function compute_maxspeed(mesh, equation, cache)
   @unpack max_v = get_static_variables(cache)
   broadcast_volume!(maxspeed, equation, mesh)
   vmax = maximum(abs, max_v)
-  vmax_limit = 1e4
-  if vmax > vmax_limit
-    @warn "Limiting timestep due to maximum speed exceeding $vmax_limit"
-    vmax = vmax_limit
-  end
   return vmax
 end
 
 
 function timestep(env, P::Project, hrsc::Maybe{HRSC.AbstractHRSC}, mesh::Mesh1d)
   vmax = compute_maxspeed(mesh, P.equation, mesh.cache)
-  L, = dg1d.widths(mesh)
-  K, = mesh.tree.dims
-  dL = L/K
-  dt = dL / (vmax * dtfactor(mesh))
+  vmax_limit = 0.9999
+
+  if vmax > vmax_limit
+    i_cell = find_cell_index(i_vmax, mesh)
+    cell = mesh.tree.cells[i_cell]
+    @warn "Limiting timestep due to maximum speed exceeding $vmax_limit in cell '$cell'"
+    vmax = vmax_limit
+  end
+
+  dl = min_grid_spacing(mesh)
+  dt = dl / (2*vmax)
   return dt
 end
-dtfactor(mesh::Mesh1d{FVElement}) = 2
-dtfactor(mesh::Mesh1d{DGElement}) = mesh.element.N
 
 
 function timestep(env, P::Project, hrsc::HRSC.AbstractArtificialViscosity, mesh::Mesh1d)
@@ -35,27 +35,23 @@ function timestep(env, P::Project, hrsc::HRSC.AbstractArtificialViscosity, mesh:
   @unpack equation = P
   @unpack max_v    = get_static_variables(cache)
 
-  vmax = maximum(abs, max_v)
-  vmax_limit = 0.9999999
+  vmax = compute_maxspeed(mesh, equation, cache)
+  smoothed_mu = get_variable(cache, :smoothed_mu)
+  mumax = maximum(abs, smoothed_mu)
+  vmax_limit = 0.9999
   if vmax > vmax_limit
-    @warn "Limiting timestep due to maximum speed $vmax exceeding $vmax_limit"
+    i_cell = find_cell_index(i_vmax, mesh)
+    cell = mesh.tree.cells[i_cell]
+    @warn "Limiting timestep due to maximum speed exceeding $vmax_limit in cell '$cell'"
     vmax = vmax_limit
   end
-  smoothed_mu = get_variable(cache, :smoothed_mu)
-  mumax = dg1d.absolute_maximum(view(smoothed_mu, :))
 
-  @unpack element = mesh
-  @unpack N = element
-  L, = dg1d.widths(mesh)
-  K, = mesh.tree.dims
-  dL = L/K
+  @unpack N = mesh.element
+  dl = min_grid_spacing(mesh)
+  dt1 = dl / (2*vmax)
+  dt2 = dl^2 / (4*mumax)
+  dt = 1.0 / (1.0/dt1 + 1.0/dt2)
 
-  dt = 1 / (vmax * N / dL + mumax * N^3 / dL^2)
-  dt_limit = 1e-7
-  if dt < dt_limit
-    @warn "Limiting timestep due to dt being smaller than $dt_limit"
-    dt = dt_limit
-  end
   return dt
 end
 
@@ -93,7 +89,7 @@ function timestep(env, P, hrsc::Maybe{HRSC.AbstractHRSC}, mesh::Mesh2d)
   dz = z[2]-z[1]
   dl = min(dx, dy) * dz
 
-  dt = dl / (N * vmax)
+  dt = dl / (2*vmax)
 
   return dt
 end
diff --git a/src/ScalarEq/rhs.jl b/src/ScalarEq/rhs.jl
index e1f3cc61b6b9b2ab8265a5bc55d1a6bb10319a96..bd921fba8b33bf1b24c995c6771885f7f02cb956 100644
--- a/src/ScalarEq/rhs.jl
+++ b/src/ScalarEq/rhs.jl
@@ -18,33 +18,25 @@ end
 
 function timestep(env, P::Project, mesh::Mesh1d, hrsc::Maybe{HRSC.AbstractHRSC})
   vmax = maxspeed(mesh, P.equation, mesh.cache)
-  L, = dg1d.widths(mesh)
-  K, = mesh.tree.dims
-  dL = L/K
-  dt = dL / (vmax * dtfactor(mesh))
+  dl = min_grid_spacing(mesh)
+  dt = dl / (2*vmax)
   return dt
 end
-dtfactor(mesh::Mesh1d{FVElement}) = 2
-dtfactor(mesh::Mesh1d{DGElement}) = mesh.element.N
 
 
 function timestep(env, P::Project, mesh::Mesh1d, hrsc::HRSC.AbstractArtificialViscosity)
   @unpack cache, mesh = env
   @unpack equation = P
 
-  vmax = maxspeed(mesh, P.equation, mesh.cache)
+  vmax = maxspeed(mesh, equation, cache)
   smoothed_mu = get_variable(cache, :smoothed_mu)
-  mumax = dg1d.absolute_maximum(view(smoothed_mu, :))
+  mumax = maximum(abs, smoothed_mu)
 
-  L, = dg1d.widths(mesh)
-  K, = mesh.tree.dims
-  dL = L/K
+  @unpack N = mesh.element
   dl = min_grid_spacing(mesh)
-
-  N = dtfactor(mesh)
-  dt1 = dl / (vmax * N)
-  dt2 = dL^2 / (mumax * N^3)
-  dt = min(dt1, dt2)
+  dt1 = dl / (2*vmax)
+  dt2 = dl^2 / (4*mumax)
+  dt = 1.0 / (1.0/dt1 + 1.0/dt2)
 
   return dt
 end
@@ -71,7 +63,7 @@ function timestep(env, P::Project, ::Mesh2d{DGElement}, hrsc::Maybe{HRSC.Abstrac
   dz = z[2]-z[1]
   dl = min(dx, dy) * dz
 
-  dt = dl / (N * vmax)
+  dt = dl / (2*vmax)
 
   return dt
 end
diff --git a/test/IntegrationTests/refs/advection2d_bump_threshold/output2d.h5 b/test/IntegrationTests/refs/advection2d_bump_threshold/output2d.h5
index cd1f0e0c32871ebc78f8bc58ab69bf2d7befcd31..de335693a68b732d3831b614f302d15aac234714 100644
Binary files a/test/IntegrationTests/refs/advection2d_bump_threshold/output2d.h5 and b/test/IntegrationTests/refs/advection2d_bump_threshold/output2d.h5 differ
diff --git a/test/IntegrationTests/refs/advection2d_sine/output2d.h5 b/test/IntegrationTests/refs/advection2d_sine/output2d.h5
index 6bb1f96f19b72cda5756fe1cca9e0eb1a81e64f2..fcb01388be73f234c837a3549f2a5b0a4642e410 100644
Binary files a/test/IntegrationTests/refs/advection2d_sine/output2d.h5 and b/test/IntegrationTests/refs/advection2d_sine/output2d.h5 differ
diff --git a/test/IntegrationTests/refs/balancedburgers_kink_avmda/output1d.h5 b/test/IntegrationTests/refs/balancedburgers_kink_avmda/output1d.h5
index 678d85a2a51736e1ae03dd40340d39362bec467b..ec7c51d01fa2e0bbd3ae18b16bf95fd5d54c685e 100644
Binary files a/test/IntegrationTests/refs/balancedburgers_kink_avmda/output1d.h5 and b/test/IntegrationTests/refs/balancedburgers_kink_avmda/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/burgers2d_gaussian/output2d.h5 b/test/IntegrationTests/refs/burgers2d_gaussian/output2d.h5
index 4d288483d434bbd1c93e16bcada37cea11ad3041..3824d9cffa52af56a0ec680cbc58c9a5cb06aa83 100644
Binary files a/test/IntegrationTests/refs/burgers2d_gaussian/output2d.h5 and b/test/IntegrationTests/refs/burgers2d_gaussian/output2d.h5 differ
diff --git a/test/IntegrationTests/refs/burgers2d_gaussian_entropyav/output2d.h5 b/test/IntegrationTests/refs/burgers2d_gaussian_entropyav/output2d.h5
index 5f208a6b56b65869d3c53319949d54a4bc44cdc1..81722cbdb5ead3520c2082b6d4dfe5fd14ddc3d4 100644
Binary files a/test/IntegrationTests/refs/burgers2d_gaussian_entropyav/output2d.h5 and b/test/IntegrationTests/refs/burgers2d_gaussian_entropyav/output2d.h5 differ
diff --git a/test/IntegrationTests/refs/burgers_sine_avdb/output1d.h5 b/test/IntegrationTests/refs/burgers_sine_avdb/output1d.h5
index 3405297dd514ffa4415e05de66e83a9b00231644..561ea341c262b6ac9edaf88b24ec216dc6095618 100644
Binary files a/test/IntegrationTests/refs/burgers_sine_avdb/output1d.h5 and b/test/IntegrationTests/refs/burgers_sine_avdb/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/burgers_sine_aventropy/output1d.h5 b/test/IntegrationTests/refs/burgers_sine_aventropy/output1d.h5
index 0612cf2f3684e6d10842667af25961fd1d6abd9b..80fb8c60ed0ac1c3048ae65b0297ea9416a8a24f 100644
Binary files a/test/IntegrationTests/refs/burgers_sine_aventropy/output1d.h5 and b/test/IntegrationTests/refs/burgers_sine_aventropy/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/burgers_sine_avmda/output1d.h5 b/test/IntegrationTests/refs/burgers_sine_avmda/output1d.h5
index 1a041f434509447ed292d10e1db86b39f72d8094..5237dcc56e32fff8756229e166b89260cdccc945 100644
Binary files a/test/IntegrationTests/refs/burgers_sine_avmda/output1d.h5 and b/test/IntegrationTests/refs/burgers_sine_avmda/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/burgers_sine_avtci/output1d.h5 b/test/IntegrationTests/refs/burgers_sine_avtci/output1d.h5
index 061afe840276a995957f80a758ca7ce1848130a3..c3cc5c91e2bf1c572e612509bf418cfe1d6165f8 100644
Binary files a/test/IntegrationTests/refs/burgers_sine_avtci/output1d.h5 and b/test/IntegrationTests/refs/burgers_sine_avtci/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/burgers_sine_bspline1_limit_slope_convex_hull/output1d.h5 b/test/IntegrationTests/refs/burgers_sine_bspline1_limit_slope_convex_hull/output1d.h5
index 79ea9422160d52f88919d291a01f34d97a283563..1e0830c61395cea7f7e5d0c60be6625d887a90e2 100644
Binary files a/test/IntegrationTests/refs/burgers_sine_bspline1_limit_slope_convex_hull/output1d.h5 and b/test/IntegrationTests/refs/burgers_sine_bspline1_limit_slope_convex_hull/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/burgers_sine_bspline2_limit_slope_convex_hull/output1d.h5 b/test/IntegrationTests/refs/burgers_sine_bspline2_limit_slope_convex_hull/output1d.h5
index 5e6c34bba2e750a0ed685d6e25bcb2ab679188c1..f43b10c2224f50566df08ea58bcc30d10ebd1f2f 100644
Binary files a/test/IntegrationTests/refs/burgers_sine_bspline2_limit_slope_convex_hull/output1d.h5 and b/test/IntegrationTests/refs/burgers_sine_bspline2_limit_slope_convex_hull/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/burgers_sine_spectral_filter/output1d.h5 b/test/IntegrationTests/refs/burgers_sine_spectral_filter/output1d.h5
index 67a9fdb869198c7890eea675fbdae7c18d44429f..0734268e4b724886fea58f89c7f25c7a363c542e 100644
Binary files a/test/IntegrationTests/refs/burgers_sine_spectral_filter/output1d.h5 and b/test/IntegrationTests/refs/burgers_sine_spectral_filter/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/euler2d_isentropic_flow/output2d.h5 b/test/IntegrationTests/refs/euler2d_isentropic_flow/output2d.h5
index 0d7e9ac0b7efe6c960916eba67334112a0cd8b4a..138e1de7de6092b9f2e5d1d7dedc1afe8b8b4582 100644
Binary files a/test/IntegrationTests/refs/euler2d_isentropic_flow/output2d.h5 and b/test/IntegrationTests/refs/euler2d_isentropic_flow/output2d.h5 differ
diff --git a/test/IntegrationTests/refs/euler2d_kelvin_helmholtz_entropyav/output2d.h5 b/test/IntegrationTests/refs/euler2d_kelvin_helmholtz_entropyav/output2d.h5
index 949455b5f754b7e56c13579c0a62c91a6ec38261..223e4d6628541a84ba1bc194b8e501ea01cfe84e 100644
Binary files a/test/IntegrationTests/refs/euler2d_kelvin_helmholtz_entropyav/output2d.h5 and b/test/IntegrationTests/refs/euler2d_kelvin_helmholtz_entropyav/output2d.h5 differ
diff --git a/test/IntegrationTests/refs/euler_isentropic_flow/interpolate.h5 b/test/IntegrationTests/refs/euler_isentropic_flow/interpolate.h5
index 25ce61bea175280d918d8769a887d9c8c52a3198..7a3a548b99c1f9a3607023280d5f41825c476224 100644
Binary files a/test/IntegrationTests/refs/euler_isentropic_flow/interpolate.h5 and b/test/IntegrationTests/refs/euler_isentropic_flow/interpolate.h5 differ
diff --git a/test/IntegrationTests/refs/euler_isentropic_flow/output1d.h5 b/test/IntegrationTests/refs/euler_isentropic_flow/output1d.h5
index 3fcdce7eaf9a374225bba0d450557992edc3c5c4..cdb484097de186e8aba6b0a18e66e55bf40b3cef 100644
Binary files a/test/IntegrationTests/refs/euler_isentropic_flow/output1d.h5 and b/test/IntegrationTests/refs/euler_isentropic_flow/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/euler_isentropic_flow/substep_output.h5 b/test/IntegrationTests/refs/euler_isentropic_flow/substep_output.h5
index e2660740e498f5b4f60aef24346a470715f49cff..4846ef6e1a1ae7a5c4a4f3ef8b9717744e7767c4 100644
Binary files a/test/IntegrationTests/refs/euler_isentropic_flow/substep_output.h5 and b/test/IntegrationTests/refs/euler_isentropic_flow/substep_output.h5 differ
diff --git a/test/IntegrationTests/refs/euler_sod_shock_tube_bernstein/output1d.h5 b/test/IntegrationTests/refs/euler_sod_shock_tube_bernstein/output1d.h5
index 387eebaa35970d5fb6599bdae781512889b74e08..b5410db3a4744de2da79dea6663e6b93236833dd 100644
Binary files a/test/IntegrationTests/refs/euler_sod_shock_tube_bernstein/output1d.h5 and b/test/IntegrationTests/refs/euler_sod_shock_tube_bernstein/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/grhd_bondi_accretion/output0d.h5 b/test/IntegrationTests/refs/grhd_bondi_accretion/output0d.h5
index add2a996056d73e37a32e3de6aa665dd59fc14b9..f5bfdb59cdb373e00b1f37917e73c1bf49af86b0 100644
Binary files a/test/IntegrationTests/refs/grhd_bondi_accretion/output0d.h5 and b/test/IntegrationTests/refs/grhd_bondi_accretion/output0d.h5 differ
diff --git a/test/IntegrationTests/refs/grhd_bondi_accretion/output1d.h5 b/test/IntegrationTests/refs/grhd_bondi_accretion/output1d.h5
index 0bafcfb8acc690abf8d822611a6f20431289162b..7890cefc78b85b41fdda427f1e2c852f8e8d57ca 100644
Binary files a/test/IntegrationTests/refs/grhd_bondi_accretion/output1d.h5 and b/test/IntegrationTests/refs/grhd_bondi_accretion/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/grhd_bondi_infall_avmda/output1d.h5 b/test/IntegrationTests/refs/grhd_bondi_infall_avmda/output1d.h5
index b81e3c59a825686dabb1aa484efd470af2a683b8..04b2f285484750b64b3896812e399897c505d78a 100644
Binary files a/test/IntegrationTests/refs/grhd_bondi_infall_avmda/output1d.h5 and b/test/IntegrationTests/refs/grhd_bondi_infall_avmda/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/grhd_tov_spherical1d/output1d.h5 b/test/IntegrationTests/refs/grhd_tov_spherical1d/output1d.h5
index 0b49f432e61657eb59d28216f8e5aab9841df6f2..a1b65d204480a5b971a814868af03ce047f45946 100644
Binary files a/test/IntegrationTests/refs/grhd_tov_spherical1d/output1d.h5 and b/test/IntegrationTests/refs/grhd_tov_spherical1d/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/modal_bspline1_advection_sine/output1d.h5 b/test/IntegrationTests/refs/modal_bspline1_advection_sine/output1d.h5
index 94502a788fa15853819625290ce8e69faf1860c2..721931e92be736871855d433696732968d2f81f7 100644
Binary files a/test/IntegrationTests/refs/modal_bspline1_advection_sine/output1d.h5 and b/test/IntegrationTests/refs/modal_bspline1_advection_sine/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/modal_bspline1_advection_sine/substep_output.h5 b/test/IntegrationTests/refs/modal_bspline1_advection_sine/substep_output.h5
index 98c378fc817b9d2abb2b7ae8c42b1a0e39c1eac5..32bd524b4c0a9b49466dc286dd0e987f3314088f 100644
Binary files a/test/IntegrationTests/refs/modal_bspline1_advection_sine/substep_output.h5 and b/test/IntegrationTests/refs/modal_bspline1_advection_sine/substep_output.h5 differ
diff --git a/test/IntegrationTests/refs/modal_bspline2_advection_sine/output1d.h5 b/test/IntegrationTests/refs/modal_bspline2_advection_sine/output1d.h5
index d960106c40355565a66ad8120a2c0e35f791f645..e045b1c12c7814f03ed2f940ff3824397b23875e 100644
Binary files a/test/IntegrationTests/refs/modal_bspline2_advection_sine/output1d.h5 and b/test/IntegrationTests/refs/modal_bspline2_advection_sine/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/modal_bspline2_advection_sine/substep_output.h5 b/test/IntegrationTests/refs/modal_bspline2_advection_sine/substep_output.h5
index 02c0423ec92d2fb84d4e9102a9cb5c5626e1e40d..f18e28d3b68ad9e7ea9aaf784f538c71e7d8e860 100644
Binary files a/test/IntegrationTests/refs/modal_bspline2_advection_sine/substep_output.h5 and b/test/IntegrationTests/refs/modal_bspline2_advection_sine/substep_output.h5 differ
diff --git a/test/IntegrationTests/refs/srhd_simple_wave_avmda/output1d.h5 b/test/IntegrationTests/refs/srhd_simple_wave_avmda/output1d.h5
index 8d7c701d82b877ec4bdcea885527db8d2f2716ea..1da495fff43087541e2926e558550b8dc01fe49d 100644
Binary files a/test/IntegrationTests/refs/srhd_simple_wave_avmda/output1d.h5 and b/test/IntegrationTests/refs/srhd_simple_wave_avmda/output1d.h5 differ
diff --git a/test/IntegrationTests/refs/testconfig.toml b/test/IntegrationTests/refs/testconfig.toml
index e9e6bbd4f0d74f502bb7652715d404d7bae1396d..2dc4c8f98059bd75538dd0462c703a74ca0c516d 100644
--- a/test/IntegrationTests/refs/testconfig.toml
+++ b/test/IntegrationTests/refs/testconfig.toml
@@ -180,6 +180,7 @@ variables2d = [ "u" ]
 
 [advection2d_bump_threshold]
 variables2d = [ "u" ]
+abstol2d = 1e-7
 
 # somehow this test always fails on CI
 # [advection2d_bump_entropyav]