This sounds like normal behavior – if there is a transaction waiting to be confirmed, a block will be generated to confirm it, even if there are no other transactions. And there can also be further blocks on top just to secure the previous blocks – see the mine-empty-rounds runtime parameter.