diff --git a/contrib/scripts/vmail.cgi b/contrib/scripts/vmail.cgi
index 4d5528714d4a503113ff947405c34b375e495a29..c2ec2622796cf1d109470b75273a5c58f1133ca0 100755
--- a/contrib/scripts/vmail.cgi
+++ b/contrib/scripts/vmail.cgi
@@ -182,13 +182,13 @@ sub messages()
 sub getcookie()
 {
 	my ($var) = @_;
-	cookie($var);
+	return cookie($var);
 }
 
 sub makecookie()
 {
 	my ($format) = @_;
-	cookie(-name => "format", -value =>["$format"]);
+	cookie(-name => "format", -value =>["$format"], -expires=>"+1y");
 }
 
 sub getfields()
diff --git a/vmail.cgi b/vmail.cgi
index 4d5528714d4a503113ff947405c34b375e495a29..c2ec2622796cf1d109470b75273a5c58f1133ca0 100755
--- a/vmail.cgi
+++ b/vmail.cgi
@@ -182,13 +182,13 @@ sub messages()
 sub getcookie()
 {
 	my ($var) = @_;
-	cookie($var);
+	return cookie($var);
 }
 
 sub makecookie()
 {
 	my ($format) = @_;
-	cookie(-name => "format", -value =>["$format"]);
+	cookie(-name => "format", -value =>["$format"], -expires=>"+1y");
 }
 
 sub getfields()