BUG: Boolean assignment allowed writing to 0-sized array

This was because of the assumption that broadcasting works
if the dimension is not > 1, but correct is != 1.

Adepted from a patch provided by prossahl.

Closes gh-3458.

-

Very simple fix, but was never cleaned upt o be merged.