static void ump_system_to_songpos_ev(const union snd_ump_midi1_msg *val,
                                     struct snd_seq_event *ev)
 {
-       ev->data.control.value = (val->system.parm1 << 7) | val->system.parm2;
+       ev->data.control.value = (val->system.parm2 << 7) | val->system.parm1;
 }
 
 /* Encoders for 0xf0 - 0xff */
 {
        data->system.type = UMP_MSG_TYPE_SYSTEM; // override
        data->system.status = status;
-       data->system.parm1 = (event->data.control.value >> 7) & 0x7f;
-       data->system.parm2 = event->data.control.value & 0x7f;
+       data->system.parm1 = event->data.control.value & 0x7f;
+       data->system.parm2 = (event->data.control.value >> 7) & 0x7f;
        return 1;
 }