# Integrate over Dirac Deltas - avoid apparently odd behaviour?

GROUPS:
 Take the following integration over Dirac delta functions Integrate[DiracDelta[-k2 + p2]*DiracDelta[-k3 + q1]*DiracDelta[k4 + p1 - p2 + q1], {p2, -Infinity, Infinity}, Assumptions -> Element[k2, Reals], Assumptions -> Element[k4 + p1 + q1, Reals]] which results in DiracDelta[-k3 + q1]*DiracDelta[-k2 + k4 + p1 + q1] However, if you try the following, with exactly the same set of Dirac delta function, combined with just plain functions, there is no result Integrate[C[p1]*C[p2]*C[-p1 + p2 - q1]*C[q1]*DiracDelta[-k2 + p2]* DiracDelta[-k3 + q1]*DiracDelta[k4 + p1 - p2 + q1]*F1[p1, k1], {p2, -Infinity, Infinity}, Assumptions -> Element[k2, Reals], Assumptions -> Element[k4 + p1 + q1, Reals]] Any suggestions on why Mathematica refuses to carry out the integration in the second case?