--- a/drivers/input/input-mt.c
+++ b/drivers/input/input-mt.c
@@ -217,10 +217,6 @@
 		count++;
 	}
 
-	input_event(dev, EV_KEY, BTN_TOUCH, count > 0);
-	if (use_count)
-		input_mt_report_finger_count(dev, count);
-
 	if (oldest) {
 		int x = input_mt_get_value(oldest, ABS_MT_POSITION_X);
 		int y = input_mt_get_value(oldest, ABS_MT_POSITION_Y);
@@ -236,6 +232,10 @@
 		if (test_bit(ABS_MT_PRESSURE, dev->absbit))
 			input_event(dev, EV_ABS, ABS_PRESSURE, 0);
 	}
+
+	input_event(dev, EV_KEY, BTN_TOUCH, count > 0);
+	if (use_count)
+		input_mt_report_finger_count(dev, count);
 }
 EXPORT_SYMBOL(input_mt_report_pointer_emulation);
 
