Let A be a von Neumann algebra with no central abelian projections. It is proved that if an additive map delta : A -> A satisfies delta([[a, b], c]) = [[delta(a), b], c]+[[a, delta(b)], c]+[[a, b], delta(c)] for any a, b, c is an element of A with ab = 0 (resp. ab = P, where P is a fixed nontrivial projection in A), then there exist an additive derivation d from A into itself and an additive map f : A -> Z(A) vanishing at every second commutator [[a, b], c] with ab = 0 (resp. ab = P) such that delta(a) = d(a) + f(a) for any a is an element of A.