-       XPROGTarget_SetRxMode();
-
-       #if (ARCH == ARCH_AVR8)
-               /* Turn off receiver and transmitter of the USART, clear settings */
-               UCSR1A |= (1 << TXC1) | (1 << RXC1);
-               UCSR1B  = 0;
-               UCSR1C  = 0;
-
-               /* Set all USART lines as inputs, tristate */
-               DDRD  &= ~((1 << 5) | (1 << 3));
-               PORTD &= ~((1 << 5) | (1 << 3) | (1 << 2));
-               
-               /* Tristate target /RESET line */
-               AUX_LINE_DDR  &= ~AUX_LINE_MASK;
-               AUX_LINE_PORT &= ~AUX_LINE_MASK;
-       #elif (ARCH == ARCH_UC3)
-               // TODO: FIXME
-       #endif
+       if (IsSending)
+         XPROGTarget_SetRxMode();
+
+       /* Turn off receiver and transmitter of the USART, clear settings */
+       UCSR1A |= (1 << TXC1) | (1 << RXC1);
+       UCSR1B  = 0;
+       UCSR1C  = 0;
+
+       /* Set all USART lines as inputs, tristate */
+       DDRD  &= ~((1 << 5) | (1 << 3));
+       PORTD &= ~((1 << 5) | (1 << 3) | (1 << 2));
+
+       /* Tristate target /RESET line */
+       AUX_LINE_DDR  &= ~AUX_LINE_MASK;
+       AUX_LINE_PORT &= ~AUX_LINE_MASK;