--- parse.y
+++ parse.y	2006-03-27 12:15:25.000000000 +0000
@@ -3106,7 +3106,7 @@ parse_matched_pair (qc, open, close, len
 		  ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen);
 		  xfree (nestret);
 
-		  if ((rflags & P_DQUOTE) == 0)
+		  if (extended_quote || (rflags & P_DQUOTE) == 0)
 		    {
 		      nestret = sh_single_quote (ttrans);
 		      free (ttrans);
@@ -3517,7 +3517,7 @@ eof_error:
 	      ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen);
 	      xfree (nestret);
 
-	      if ((rflags & P_DQUOTE) == 0)
+	      if (extended_quote || (rflags & P_DQUOTE) == 0)
 		{
 		  nestret = sh_single_quote (ttrans);
 		  free (ttrans);