--- /dev/null
+diff --git a/src/command.c b/src/command.c
+index 2140173..aad82cc 100644
+--- a/src/command.c
++++ b/src/command.c
+@@ -335,6 +335,26 @@ int cmd_play ( int argc, char ** argv, mpd_Connection * conn )
+ return 1;
+ }
+
++int cmd_playid ( int argc, char ** argv, mpd_Connection * conn )
++{
++ int song;
++ int i;
++
++ if(0==argc) song = MPD_PLAY_AT_BEGINNING;
++ else {
++ for(i=0;i<argc-1;i++)
++ printf("skipping: %s\n",argv[i]);
++
++ if(!parse_songnum(argv[i], &song))
++ DIE("error parsing song numbers from: %s\n",argv[i]);
++ }
++
++ mpd_sendPlayIdCommand(conn,song);
++ my_finishCommand(conn);
++
++ return 1;
++}
++
+ int
+ cmd_seek(mpd_unused int argc, mpd_unused char **argv, mpd_Connection *conn)
+ {
+diff --git a/src/command.h b/src/command.h
+index e68f433..5a9d896 100644
+--- a/src/command.h
++++ b/src/command.h
+@@ -28,6 +28,7 @@ int cmd_add ( int argc, char ** argv, mpd_Connection * conn ) ;
+ int cmd_crop ( int argc, char ** argv, mpd_Connection * conn );
+ int cmd_del ( int argc, char ** argv, mpd_Connection * conn );
+ int cmd_play ( int argc, char ** argv, mpd_Connection * conn );
++int cmd_playid ( int argc, char ** argv, mpd_Connection * conn );
+ int cmd_next ( int argc, char ** argv, mpd_Connection * conn );
+ int cmd_prev ( int argc, char ** argv, mpd_Connection * conn );
+ int cmd_pause ( int argc, char ** argv, mpd_Connection * conn );
+diff --git a/src/main.c b/src/main.c
+index c0fd83c..1ce0a4c 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -58,6 +58,7 @@ struct _mpc_table {
+ {"crop", 0, 0, 0, cmd_crop, "", "Remove all but the currently playing song"},
+ {"del", 0, -1, 1, cmd_del, "<position>", "Remove a song from the current playlist"},
+ {"play", 0, -1, 2, cmd_play, "[<position>]", "Start playing at <position> (default: 1)"},
++ {"playid", 0, -1, 2, cmd_playid, "[<id>]", "Start playing at track <id>"},
+ {"next", 0, 0, 0, cmd_next, "", "Play the next song in the current playlist"},
+ {"prev", 0, 0, 0, cmd_prev, "", "Play the previous song in the current playlist"},
+ {"pause", 0, 0, 0, cmd_pause, "", "Pauses the currently playing song"},