diff --git a/test/poisson/opcount_poisson_dg_symdiff.mini b/test/poisson/opcount_poisson_dg_symdiff.mini
new file mode 100644
index 0000000000000000000000000000000000000000..e87f17a5109046fbff44d92cac4c3bd9d113ea01
--- /dev/null
+++ b/test/poisson/opcount_poisson_dg_symdiff.mini
@@ -0,0 +1,14 @@
+__name = opcount_poisson_dg_symdiff
+
+cells = 32 32
+extension = 1. 1.
+
+[wrapper.vtkcompare]
+name = {__name}
+extension = vtu
+
+[formcompiler]
+exact_solution_expression = g
+compare_dofs = 1e-1
+compare_l2errorsquared = 1e-4
+opcounter = 1
\ No newline at end of file
diff --git a/test/poisson/poisson_dg_quadrilateral.ufl b/test/poisson/poisson_dg_quadrilateral.ufl
new file mode 100644
index 0000000000000000000000000000000000000000..1ca65e1eaf16d4ff71444bd71626c277b82328c9
--- /dev/null
+++ b/test/poisson/poisson_dg_quadrilateral.ufl
@@ -0,0 +1,27 @@
+cell = "quadrilateral"
+
+f = Expression("return -2.0*x.size();", cell=cell)
+g = Expression("return x.two_norm2();", on_intersection=True, cell=cell)
+
+V = FiniteElement("DG", cell, 1)
+
+u = TrialFunction(V)
+v = TestFunction(V)
+
+n = FacetNormal(cell)('+')
+
+gamma = 1.0
+theta = 1.0
+
+r = inner(grad(u), grad(v))*dx \
+  + inner(n, avg(grad(u)))*jump(v)*dS \
+  + gamma*jump(u)*jump(v)*dS \
+  + theta*jump(u)*inner(avg(grad(v)), n)*dS \
+  - inner(n, grad(u))*v*ds \
+  + gamma*u*v*ds \
+  - theta*u*inner(grad(v), n)*ds \
+  - f*v*dx \
+  + theta*g*inner(grad(v), n)*ds \
+  - gamma*g*v*ds
+
+forms = [r]