diff --git a/main/ast_expr2.fl b/main/ast_expr2.fl
index 58c52288383892adfe1f095401e5540731a15969..8f156e81fcd67c9e84d5934644b885aaefd0cac4 100644
--- a/main/ast_expr2.fl
+++ b/main/ast_expr2.fl
@@ -241,11 +241,11 @@ int ast_expr(char *expr, char *buf, int length)
 			res_length = snprintf(buf, length, "%ld", (long int) io.val->u.i);
 			return_value = (res_length <= length) ? res_length : length;
 		} else {
-#ifdef STANDALONE
+#if defined(STANDALONE) || defined(LOW_MEMORY)
 			strncpy(buf, io.val->u.s, length - 1);
-#else /* !STANDALONE */
+#else /* !STANDALONE && !LOW_MEMORY */
 			ast_copy_string(buf, io.val->u.s, length);
-#endif /* STANDALONE */
+#endif /* STANDALONE || LOW_MEMORY */
 			return_value = strlen(buf);
 			free(io.val->u.s);
 		}
diff --git a/main/ast_expr2f.c b/main/ast_expr2f.c
index 3fec4a216b91b2139eac9414014d1835dcd56118..b0e69450f48404fa4a38c37fccbfb5cd549ec2f5 100644
--- a/main/ast_expr2f.c
+++ b/main/ast_expr2f.c
@@ -3122,11 +3122,11 @@ int ast_expr(char *expr, char *buf, int length)
 			res_length = snprintf(buf, length, "%ld", (long int) io.val->u.i);
 			return_value = (res_length <= length) ? res_length : length;
 		} else {
-#ifdef STANDALONE
+#if defined(STANDALONE) || defined(LOW_MEMORY)
 			strncpy(buf, io.val->u.s, length - 1);
-#else /* !STANDALONE */
+#else /* !STANDALONE && !LOW_MEMORY */
 			ast_copy_string(buf, io.val->u.s, length);
-#endif /* STANDALONE */
+#endif /* STANDALONE || LOW_MEMORY */
 			return_value = strlen(buf);
 			free(io.val->u.s);
 		}
diff --git a/pbx/ael/ael.flex b/pbx/ael/ael.flex
index 1c4722e9b7d8ce6121b3eba0b6e6c3b87c2cd425..41f24601c16e603da5ddc5ee6170973382437935 100644
--- a/pbx/ael/ael.flex
+++ b/pbx/ael/ael.flex
@@ -411,7 +411,7 @@ includes	{ STORE_POS; return KW_INCLUDES;}
 			if (*(p1+1) != '/')
 				snprintf(fnamebuf, sizeof(fnamebuf), "%s/%s", ast_config_AST_CONFIG_DIR, p1 + 1);
 			else
-#ifdef STANDALONE
+#if defined(STANDALONE) || defined(LOW_MEMORY)
 				strncpy(fnamebuf, p1 + 1, sizeof(fnamebuf) - 1);
 #else
 				ast_copy_string(fnamebuf, p1 + 1, sizeof(fnamebuf));
diff --git a/pbx/ael/ael_lex.c b/pbx/ael/ael_lex.c
index daddeb118bc71f07c1868e1a4276b1c5c19628c3..91cc3e7dbc08969dbc1e0ddf09ea2ea2f0930f7f 100644
--- a/pbx/ael/ael_lex.c
+++ b/pbx/ael/ael_lex.c
@@ -1683,7 +1683,7 @@ YY_RULE_SETUP
 			if (*(p1+1) != '/')
 				snprintf(fnamebuf, sizeof(fnamebuf), "%s/%s", ast_config_AST_CONFIG_DIR, p1 + 1);
 			else
-#ifdef STANDALONE
+#if defined(STANDALONE) || defined(LOW_MEMORY)
 				strncpy(fnamebuf, p1 + 1, sizeof(fnamebuf) - 1);
 #else
 				ast_copy_string(fnamebuf, p1 + 1, sizeof(fnamebuf));