diff --git a/src/deh_soc.c b/src/deh_soc.c
index 8d91652e7833480749e60e9f72c15691566a1132..877b1c43886889b7836e923a56c2d68cd7f85631 100644
--- a/src/deh_soc.c
+++ b/src/deh_soc.c
@@ -152,6 +152,18 @@ static boolean parse_word(action_val_t *value, char *word)
 
 		*value = ACTION_STRING_VAL(string);
 	}
+	else if (fastcmp(word, "true"))
+	{
+		*value = ACTION_BOOLEAN_VAL(true);
+	}
+	else if (fastcmp(word, "false"))
+	{
+		*value = ACTION_BOOLEAN_VAL(false);
+	}
+	else if (fastcmp(word, "null"))
+	{
+		*value = ACTION_NULL_VAL;
+	}
 	else
 	{
 		strupr(word);