IE_Released touch event is called when a button is pressed

I’m developing a mobile FPS game. I have a code for camera control, it binds to touch events like this

PlayerInputComponent->BindTouch(EInputEvent::IE_Pressed, this, &AMyPlayerController::BeginTouch);
		PlayerInputComponent->BindTouch(EInputEvent::IE_Released, this, &AMyPlayerController::EndTouch);

I store finger index which was pressed first and used for camera control. The problem is that whenever I press any button with my second finger, EndTouch is called with my first finger ID, even if my first finger still touching the screen.
Logs look like this

//Touching a screen with my first finger
BeginTouch: FingerIndex 0. Store index for camera control: 0
//Keeping my first finger and pressing a button with my second finger
EndTouch: FingerIndex 0. Stored CameraControl index: 0
//Removing my first finger from screen
EndTouch: FingerIndex 0. Stored CameraControl index: 0

Does anyone know how to handle such situations otherwise than creating custom buttons?