diff --git a/src/modules/Parser/html.c b/src/modules/Parser/html.c
index a057a57d264c3d78bd6e615ab5fdd9ae5f149b98..fad535f2591c2f31731c6e50827b57a7be8a544c 100644
--- a/src/modules/Parser/html.c
+++ b/src/modules/Parser/html.c
@@ -639,7 +639,7 @@ static void html_add_tag(INT32 args)
 {
    struct svalue s;
    check_all_args("add_tag",args,BIT_STRING,
-		  BIT_STRING|BIT_ARRAY|BIT_FUNCTION|BIT_OBJECT|BIT_PROGRAM,0);
+		  BIT_INT|BIT_STRING|BIT_ARRAY|BIT_FUNCTION|BIT_OBJECT|BIT_PROGRAM,0);
    if (sp[1-args].type == T_ARRAY) {
      struct array *a = sp[1-args].u.array;
      if (!a->size ||
@@ -647,6 +647,8 @@ static void html_add_tag(INT32 args)
 	  a->item[0].type != T_PROGRAM))
        SIMPLE_BAD_ARG_ERROR("add_tag", 1, "array with function as first element");
    }
+   else if (sp[1-args].type == T_INT && sp[1-args].u.integer)
+     SIMPLE_BAD_ARG_ERROR("add_tag", 1, "zero, string, array or function");
 
    if (THIS->maptag->refs>1)
    {
@@ -671,7 +673,7 @@ static void html_add_container(INT32 args)
 {
    struct svalue s;
    check_all_args("add_container",args,BIT_STRING,
-		  BIT_STRING|BIT_ARRAY|BIT_FUNCTION|BIT_OBJECT|BIT_PROGRAM,0);
+		  BIT_INT|BIT_STRING|BIT_ARRAY|BIT_FUNCTION|BIT_OBJECT|BIT_PROGRAM,0);
    if (sp[1-args].type == T_ARRAY) {
      struct array *a = sp[1-args].u.array;
      if (!a->size ||
@@ -679,6 +681,8 @@ static void html_add_container(INT32 args)
 	  a->item[0].type != T_PROGRAM))
        SIMPLE_BAD_ARG_ERROR("add_container", 1, "array with function as first element");
    }
+   else if (sp[1-args].type == T_INT && sp[1-args].u.integer)
+     SIMPLE_BAD_ARG_ERROR("add_tag", 1, "zero, string, array or function");
 
    if (THIS->mapcont->refs>1)
    {
@@ -701,7 +705,7 @@ static void html_add_container(INT32 args)
 static void html_add_entity(INT32 args)
 {
    check_all_args("add_entity",args,BIT_STRING,
-		  BIT_STRING|BIT_ARRAY|BIT_FUNCTION|BIT_OBJECT|BIT_PROGRAM,0);
+		  BIT_INT|BIT_STRING|BIT_ARRAY|BIT_FUNCTION|BIT_OBJECT|BIT_PROGRAM,0);
    if (sp[1-args].type == T_ARRAY) {
      struct array *a = sp[1-args].u.array;
      if (!a->size ||
@@ -709,6 +713,8 @@ static void html_add_entity(INT32 args)
 	  a->item[0].type != T_PROGRAM))
        SIMPLE_BAD_ARG_ERROR("add_entity", 1, "array with function as first element");
    }
+   else if (sp[1-args].type == T_INT && sp[1-args].u.integer)
+     SIMPLE_BAD_ARG_ERROR("add_tag", 1, "zero, string, array or function");
 
    if (THIS->mapentity->refs>1)
    {
@@ -733,7 +739,7 @@ static void html_add_quote_tag(INT32 args)
   struct svalue cb;
 
   check_all_args("add_quote_tag",args,BIT_STRING,
-		 BIT_STRING|BIT_ARRAY|BIT_FUNCTION|BIT_OBJECT|BIT_PROGRAM,
+		 BIT_INT|BIT_STRING|BIT_ARRAY|BIT_FUNCTION|BIT_OBJECT|BIT_PROGRAM,
 		 BIT_STRING|BIT_VOID,0);
    if (sp[1-args].type == T_ARRAY) {
      struct array *a = sp[1-args].u.array;
@@ -742,6 +748,8 @@ static void html_add_quote_tag(INT32 args)
 	  a->item[0].type != T_PROGRAM))
        SIMPLE_BAD_ARG_ERROR("add_quote_tag", 1, "array with function as first element");
    }
+   else if (sp[1-args].type == T_INT && sp[1-args].u.integer)
+     SIMPLE_BAD_ARG_ERROR("add_tag", 1, "zero, string, array or function");
 
   remove = IS_ZERO (sp+1-args);
   if (!remove && args < 3)