diff --git a/drivers/video/pm2fb.c b/drivers/video/pm2fb.c
index 7f4c753b1d890e5a373e69ce0c5f418892dc7dee..1ac5264bb2c150cdfeee12b5c43203aab6bcc7c1 100644
--- a/drivers/video/pm2fb.c
+++ b/drivers/video/pm2fb.c
@@ -1335,10 +1335,10 @@ static int __devinit pm2fb_probe(struct pci_dev *pdev,
 		info->var = pm2fb_var;
 
 	if (fb_alloc_cmap(&info->cmap, 256, 0) < 0)
-		goto err_exit_all;
+		goto err_exit_both;
 
 	if (register_framebuffer(info) < 0)
-		goto err_exit_both;
+		goto err_exit_all;
 
 	printk(KERN_INFO "fb%d: %s frame buffer device, memory = %dK.\n",
 	       info->node, info->fix.id, pm2fb_fix.smem_len / 1024);