diff --git a/contrib/fuzzystrmatch/dmetaphone.c b/contrib/fuzzystrmatch/dmetaphone.c
index c8f5f32fbbfc4ab9f22cc0a2829aba6deddfe988..b1f8b78d3be11f862920d25baf9a79d54b5fed8f 100644
--- a/contrib/fuzzystrmatch/dmetaphone.c
+++ b/contrib/fuzzystrmatch/dmetaphone.c
@@ -359,7 +359,10 @@ StringAt(metastring *s, int start, int length,...)
 	{
 		test = va_arg(ap, char *);
 		if (*test && (strncmp(pos, test, length) == 0))
+		{
+			va_end(ap);
 			return 1;
+		}
 	}
 	while (strcmp(test, "") != 0);