Various timing and small logic fixes, not trying empty ports any more