return;
 
        Pipe_SelectPipe(MIDI_DATA_IN_PIPE);
+       Pipe_Unfreeze();
 
        if (Pipe_IsINReceived())
        {
                                                                                                                                                                   MIDIEvent.Data2, MIDIEvent.Data3);
                }
        }
+       
+       Pipe_Freeze();
 
        Pipe_SelectPipe(MIDI_DATA_OUT_PIPE);
+       Pipe_Unfreeze();
 
        if (Pipe_IsOUTReady())
        {
                        Pipe_ClearOUT();
                }
 
+               Pipe_Freeze();
+
                /* Save previous joystick value for next joystick change detection */
                PrevJoystickStatus = JoystickStatus;
        }