Fix logic, failed system() calls don't trigger a rescue and leave things in a wonky state