diff --git a/test/hyperbolic/shallowwater.ufl b/test/hyperbolic/shallowwater.ufl
index 9fca496e9fab29d58e91e79f15fb6fed3b4265af..076ab49fed1021c63061c2f0f1b9ac10511a559a 100644
--- a/test/hyperbolic/shallowwater.ufl
+++ b/test/hyperbolic/shallowwater.ufl
@@ -27,7 +27,8 @@ bflux = as_matrix([[-q0,                  -q1],
 
 
 # Define numerical fluxes to choose from
-llf_flux = dot(avg(flux), n) - 0.5*jump(u)
+alpha = Max(abs(n[0]*q0('+') + n[1]*q1('+')) + sqrt(g*h('+')), abs(n[0]*q0('-') + n[1]*q1('-')) + sqrt(g*h('-')))
+llf_flux = dot(avg(flux), n) - 0.5*alpha*jump(u)
 boundary_flux = 0.5*dot(flux + bflux, n) + as_vector([0., q0, q1])
 numerical_flux = llf_flux