The two forms generates the same signature, but different tabulate_tensor functions. Something is fishy with form_data.signature. instant-clean run script out-comment region and run instant-clean from dolfin import * mesh = UnitSquareMesh(16,16) V = FunctionSpace(mesh, 'CG', 2) w = TestFunction(V) Pv = TrialFunction(V) a = inner(w, Pv)*dx A = assemble(a) u = Function(V) # Out-comment next region and run instant clean to reproduce bug f = Expression("x[0]*x[0] + 2*x[1]*x[1]") L = inner(w, f)*dx b = assemble(L) print "Signature", L.form_data().signature solve(A, u.vector(), b) print u.vector().norm("l2") # Out-comment to here. f2 = Expression("x[0]*x[0] + 2*x[1]*x[1]", degree=2) L = inner(w, f2)*dx b = assemble(L) solve(A, u.vector(), b) print "Signature", L.form_data().signature print u.vector().norm("l2") Happy bug hunting :) Johan On 03/11/2013 07:28 PM, Martin Sandve Alnæs wrote: > I would look at the instant side. Or in ffc.jitobject. repr of a form is > not used anywhere. > > Martin > Den 11. mars 2013 18:20 skrev "Johan Hake"