Index: command.c
===================================================================
--- command.c	(revision 37122)
+++ command.c	(working copy)
@@ -1516,6 +1516,9 @@
             *(int *) arg = -1;
         else if (*(int *) arg >= global_sub_size)
             *(int *) arg = global_sub_size - 1;
+        // already done ?
+        if (mpctx->global_sub_pos == *(int *) arg)
+            return M_PROPERTY_OK;
         mpctx->global_sub_pos = *(int *) arg;
         break;
     case M_PROPERTY_STEP_UP:
