only dispatch next if not drained
Merge tjfontaine's fix for #7