Using outer join to handle null channels.
Fixes #26