diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c
index 2398d2c55febbab12c80dd63af0c49e02d16fd14..725c115ff97da3277723d54903081afbc41a84d5 100644
--- a/sound/isa/es18xx.c
+++ b/sound/isa/es18xx.c
@@ -2154,6 +2154,7 @@ static int __devinit snd_audiodrive_pnpc(int dev, struct snd_audiodrive *acard,
 	}
 	/* Control port initialization */
 	if (pnp_activate_dev(acard->devc) < 0) {
+		kfree(cfg);
 		snd_printk(KERN_ERR PFX "PnP control configure failure (out of resources?)\n");
 		return -EAGAIN;
 	}