A new approach to flux correction for finite elements is presented. The low-order transport operator is constructed from the discrete high-order operator by elimination of negative off-diagonal entries, so as to enforce the M-matrix property. The corresponding antidiffusive terms can be decomposed into a sum of internodal fluxes (rather than element contributions). Thereby essentially one-dimensional flux correction tools can be applied on unstructured meshes. The proposed algorithm guarantees mass conservation and makes it possible to design both explicit and implicit FEM-FCT schemes based on a unified limiting procedure.