diff --git a/drivers/isdn/capi/capifs.c b/drivers/isdn/capi/capifs.c
index eafe0e9daa7ceb88eadd9eadcce9e1123a42e22d..550e80f390a63f87da84f84e9ec0290f75ca7151 100644
--- a/drivers/isdn/capi/capifs.c
+++ b/drivers/isdn/capi/capifs.c
@@ -69,6 +69,7 @@ static int capifs_remount(struct super_block *s, int *flags, char *data)
 		} else if (sscanf(this_char, "mode=%o%c", &n, &dummy) == 1)
 			mode = n & ~S_IFMT;
 		else {
+			kfree(new_opt);
 			printk("capifs: called with bogus options\n");
 			return -EINVAL;
 		}