diff --git a/src/output/jack_plugin.c b/src/output/jack_plugin.c
index 71957c226..c05f6a77d 100644
--- a/src/output/jack_plugin.c
+++ b/src/output/jack_plugin.c
@@ -227,11 +227,6 @@ mpd_jack_connect(struct jack_data *jd, struct audio_format *audio_format)
 	jack_set_sample_rate_callback(jd->client, mpd_jack_srate, jd);
 	jack_on_shutdown(jd->client, mpd_jack_shutdown, jd);
 
-	if ( jack_activate(jd->client) ) {
-		g_warning("cannot activate client");
-		return -1;
-	}
-
 	jd->ports[0] = jack_port_register(jd->client, "left",
 					  JACK_DEFAULT_AUDIO_TYPE,
 					  JackPortIsOutput, 0);
@@ -248,6 +243,11 @@ mpd_jack_connect(struct jack_data *jd, struct audio_format *audio_format)
 		return -1;
 	}
 
+	if ( jack_activate(jd->client) ) {
+		g_warning("cannot activate client");
+		return -1;
+	}
+
 	/*  hay que buscar que hay  */
 	if (!jd->output_ports[1] &&
 	    (jports = jack_get_ports(jd->client, NULL, NULL,