diff --git a/System.c b/System.c
index 486a91cbd1b732191c44716623f554018265c5b3..c400674425451cbed4d908e96e16f2ec878ec8f8 100644
--- a/System.c
+++ b/System.c
@@ -71,7 +71,7 @@ static int kwsysSystem_Shell__CharNeedsQuotesOnUnix(char c)
   return ((c == '\'') || (c == '`') || (c == ';') || (c == '#') ||
           (c == '&') || (c == '$') || (c == '(') || (c == ')') ||
           (c == '~') || (c == '<') || (c == '>') || (c == '|') ||
-          (c == '*') || (c == '\\'));
+          (c == '*') || (c == '^') || (c == '\\'));
 }
 
 /*--------------------------------------------------------------------------*/