diff --git a/include/types/hlua.h b/include/types/hlua.h
index fd7b7d3..a923624 100644
--- a/include/types/hlua.h
+++ b/include/types/hlua.h
@@ -30,6 +30,7 @@
 #define HLUA_MUST_GC   0x00000020
 
 #define HLUA_F_AS_STRING    0x01
+#define HLUA_F_MAY_USE_HTTP 0x02
 
 enum hlua_exec {
 	HLUA_E_OK = 0,
diff --git a/src/hlua.c b/src/hlua.c
index 43c73f6..ae49caa 100644
--- a/src/hlua.c
+++ b/src/hlua.c
@@ -3009,6 +3009,14 @@
 	/* Get traditionnal arguments. */
 	hsmp = MAY_LJMP(hlua_checkfetches(L, 1));
 
+	/* Check execution authorization. */
+	if (f->use & SMP_USE_HTTP_ANY &&
+	    !(hsmp->flags & HLUA_F_MAY_USE_HTTP)) {
+		lua_pushfstring(L, "the sample-fetch '%s' needs an HTTP parser which "
+		                   "is not available in Lua services", f->kw);
+		WILL_LJMP(lua_error(L));
+	}
+
 	/* Get extra arguments. */
 	for (i = 0; i < lua_gettop(L) - 1; i++) {
 		if (i >= ARGM_NBARGS)
@@ -4628,13 +4636,13 @@
 
 	/* Create the "f" field that contains a list of fetches. */
 	lua_pushstring(L, "f");
-	if (!hlua_fetches_new(L, htxn, 0))
+	if (!hlua_fetches_new(L, htxn, HLUA_F_MAY_USE_HTTP))
 		return 0;
 	lua_rawset(L, -3);
 
 	/* Create the "sf" field that contains a list of stringsafe fetches. */
 	lua_pushstring(L, "sf");
-	if (!hlua_fetches_new(L, htxn, HLUA_F_AS_STRING))
+	if (!hlua_fetches_new(L, htxn, HLUA_F_MAY_USE_HTTP | HLUA_F_AS_STRING))
 		return 0;
 	lua_rawset(L, -3);
 
