diff --git a/miosix/arch/common/drivers/serial_stm32.cpp b/miosix/arch/common/drivers/serial_stm32.cpp
index f6cb193ff031f88fb24a163f3d49b33161576fb1..c9061f7d0a42b65965ad98f76520b2f4b0fd75dd 100644
--- a/miosix/arch/common/drivers/serial_stm32.cpp
+++ b/miosix/arch/common/drivers/serial_stm32.cpp
@@ -411,11 +411,11 @@ STM32Serial::STM32Serial(int id, int baudrate, FlowCtrl flowControl)
             break;
         case 2:
             commonInit(id,baudrate,u2tx::getPin(),u2rx::getPin(),
-                       u2rts::getPin(),u3cts::getPin());
+                       u2rts::getPin(),u2cts::getPin());
             break;
         case 3:
-            commonInit(id,baudrate,u3tx::getPin(),u2rx::getPin(),
-                       u2rts::getPin(),u3cts::getPin());
+            commonInit(id,baudrate,u3tx::getPin(),u3rx::getPin(),
+                       u3rts::getPin(),u3cts::getPin());
             break;
     }
 }