diff --git a/src/eval.c b/src/eval.c
index da2015f319a355a6ff5c883d3642e5e06908e78f..42556b53722bb277f3c9fd651eaa441a7ca11cf1 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -2625,7 +2625,12 @@ set_context_for_expression(xp, arg, cmdidx)
 					 ? EXPAND_EXPRESSION : EXPAND_NOTHING;
 	    }
 	    else if (c != ' ')
+	    {
 		xp->xp_context = EXPAND_SETTINGS;
+		if ((c == 'l' || c == 'g') && xp->xp_pattern[2] == ':')
+		    xp->xp_pattern += 2;
+
+	    }
 	}
 	else if (c == '$')
 	{
diff --git a/src/installman.sh b/src/installman.sh
index b49d2671cdba181d0123dfccd571b93c9492c03b..3c34ab691a932722a78abf1c6e6f138705132653 100755
--- a/src/installman.sh
+++ b/src/installman.sh
@@ -105,4 +105,4 @@ fi
 
 exit $errstatus
 
-# vim: set sw=3 :
+# vim: set sw=3 sts=3 :