A group of isometries of a hyperbolic n-space is called a reflection group if it is generated by reflections in hyperbolic hyperplanes. Vinberg gave a semi-algorithm for finding a maximal reflection sublattice in a given arithmetic subgroup of O (n, 1) of the simplest type. We provide an effective termination condition for Vinberg's semi-algorithm with which it becomes an algorithm for finding maximal reflection sublattices. The main new ingredient of the proof is an upper bound for the number of faces of an arithmetic hyperbolic Coxeter polyhedron in terms of its volume.