A simple method is to use "bwlabel". This assigns each of the non-touching white areas a unique number. You can then pick each one in turn, and remove it like this:
labelled = bwlabel(binary_image);
object_number = 1;
labelled(labelled == object_number) = 0;
binary_image_corrected = labelled > 0;
I can see 2 or 3 things that that method will also remove.