In 1937, John von Neumann gave a theorem on the maximum of the real part of the trace of a matrix product Z1A1Z2A2 where A1,A2 are fixed complex matrices and Z1,Z2 run independently over all unitary matrices. The theorem is extended to admit analogously trZ1A1...ZnAn,n>2. The proof is not related to von Neumann's method. Four seemingly different, but in fact equivalent, versions of the result are given. These differences stem from initially requiring Aj to be real diagonal as well as from considering separately the maxima of the absolute value, the real part and the imaginary part of tr Z1A1...ZnAn. An application is given by way of illustration.