+diff -up clutter-1.16.0/clutter/evdev/clutter-device-manager-evdev.c.jx clutter-1.16.0/clutter/evdev/clutter-device-manager-evdev.c
+--- clutter-1.16.0/clutter/evdev/clutter-device-manager-evdev.c.jx 2013-09-22 13:22:30.000000000 -0400
++++ clutter-1.16.0/clutter/evdev/clutter-device-manager-evdev.c 2013-10-07 16:48:28.232916813 -0400
+@@ -535,11 +535,6 @@ dispatch_one_event (ClutterEventSource *
+ else if (e->code == BTN_TOOL_FINGER && e->value != AUTOREPEAT_VALUE)
+ {
+ source->touching = e->value;
+- if (e->value)
+- {
+- source->last_x = source->cur_x;
+- source->last_y = source->cur_y;
+- }
+ }
+ else
+ {
+@@ -580,6 +575,22 @@ dispatch_one_event (ClutterEventSource *
+ break;
+
+ case EV_ABS:
++ /* first touch is magic */
++ if (source->touching == 1)
++ {
++ switch (e->code)
++ {
++ case ABS_X:
++ source->last_x = source->cur_x = e->value;
++ break;
++ case ABS_Y:
++ source->last_y = source->cur_y = e->value;
++ source->touching = 2; /* note, assumes delivery order... */
++ break;
++ }
++ break;
++ }
++
+ switch (e->code)
+ {
+ case ABS_X: