    * to some other address, and then apply them locally
    */
   for (byte i = 0; i < STARTUP_MSGS; i++) {
-    boolean forwarded = check_and_forward(startupmsg[i]);
+    boolean forwarded = false;
+    if (has_rs485) {
+      forwarded = check_and_forward(startupmsg[i], &rs485);
+    }
     process_msg(startupmsg[i], false, forwarded);
   }
 

              delay(delayMs);
          }

          rs485.sendMsgTo(source_address, send_buffer, len);
        } else {
          Serial.write(send_buffer, len);
        }

        break;


boolean program_fade_init(msg_program_t *msg,
                          program_tracker_t *tracker) {
  DEBUG3_PRINT("Initializing fade program:");

  state_fade_t *state = (state_fade_t *)malloc(sizeof (state_fade_t));
  memcpy(&state->msg, msg->values, sizeof (state->msg));
  tracker->state = state;

  DEBUG3_VALUE(" ", state->msg.period);
  DEBUG3_VALUE(" ", state->msg.start_value[0]);
  DEBUG3_VALUE(",", state->msg.start_value[1]);
  DEBUG3_VALUE(",", state->msg.start_value[2]);
  DEBUG3_VALUE(" ", state->msg.stop_value[0]);
  DEBUG3_VALUE(",", state->msg.stop_value[1]);
  DEBUG3_VALUELN(",", state->msg.stop_value[2]);

  state->start_time = 0;

