diff --git a/bsp/stm32f10x/drivers/bxcan.c b/bsp/stm32f10x/drivers/bxcan.c
index 765a004aed..83d82d04fa 100644
--- a/bsp/stm32f10x/drivers/bxcan.c
+++ b/bsp/stm32f10x/drivers/bxcan.c
@@ -1127,7 +1127,7 @@ static struct stm_bxcan bxcan1data =
 struct rt_can_device bxcan1;
 void CAN1_RX0_IRQHandler(void)
 {
-    if(CAN1->RF0R & 0x11)
+    if(CAN1->RF0R & 0x03)
     {
       if ((CAN1->RF0R & CAN_RF0R_FOVR0) != 0)
       {
@@ -1141,7 +1141,7 @@ void CAN1_RX0_IRQHandler(void)
 }
 void CAN1_RX1_IRQHandler(void)
 {
-    if(CAN1->RF1R & 0x11)
+    if(CAN1->RF1R & 0x03)
     {
       if ((CAN1->RF1R & CAN_RF1R_FOVR1) != 0)
       {
@@ -1262,7 +1262,7 @@ static struct stm_bxcan bxcan2data =
 struct rt_can_device bxcan2;
 void CAN2_RX0_IRQHandler(void)
 {
-    if(CAN2->RF0R & 0x11)
+    if(CAN2->RF0R & 0x03)
     {
       if ((CAN2->RF0R & CAN_RF0R_FOVR0) != 0)
       {
@@ -1276,7 +1276,7 @@ void CAN2_RX0_IRQHandler(void)
 }
 void CAN2_RX1_IRQHandler(void)
 {
-    if(CAN2->RF1R & 0x11)
+    if(CAN2->RF1R & 0x03)
     {
       if ((CAN2->RF1R & CAN_RF1R_FOVR1) != 0)
       {