Numpy doesn't do this shape check for boolean indexing: you can index with any boolean matrix.