diff --git a/extra/mkkeywordhash.c b/extra/mkkeywordhash.c
index bb706ac01dec39ae4fa2eee50ecddf003183e28e..2a59d6a6133a5f4b8904d938a91660fa02427b6f 100644
--- a/extra/mkkeywordhash.c
+++ b/extra/mkkeywordhash.c
@@ -93,7 +93,7 @@ static Keyword aKeywordTable[] = {
   { "DISTINCT",               "TK_DISTINCT",    true  },
   { "DROP",                   "TK_DROP",        true  },
   { "END",                    "TK_END",         true  },
-  { "ENGINE",                 "TK_ENGINE",      true  },
+  { "ENGINE",                 "TK_ENGINE",      false },
   { "EACH",                   "TK_EACH",        true  },
   { "ELSE",                   "TK_ELSE",        true  },
   { "ESCAPE",                 "TK_ESCAPE",      true  },
diff --git a/src/box/sql/parse.y b/src/box/sql/parse.y
index be3c5c3991bfdcef81036481846dd29eb6d0f278..643e025bdd473e72b7b323c485850e4140f6b63f 100644
--- a/src/box/sql/parse.y
+++ b/src/box/sql/parse.y
@@ -248,7 +248,7 @@ columnname(A) ::= nm(A) typedef(Y). {sqlAddColumn(pParse,&A,&Y);}
 //
 %fallback ID
   ABORT ACTION ADD AFTER AUTOINCREMENT BEFORE CASCADE
-  CONFLICT DEFERRED END FAIL
+  CONFLICT DEFERRED END ENGINE FAIL
   IGNORE INITIALLY INSTEAD NO MATCH PLAN
   QUERY KEY OFFSET RAISE RELEASE REPLACE RESTRICT
   RENAME CTIME_KW IF
diff --git a/test/sql-tap/keyword1.test.lua b/test/sql-tap/keyword1.test.lua
index 655adaf58c9527e463d4f06d35ecabe4f6845225..03b1054d252ee34b131d646e477136375aa5b675 100755
--- a/test/sql-tap/keyword1.test.lua
+++ b/test/sql-tap/keyword1.test.lua
@@ -1,6 +1,6 @@
 #!/usr/bin/env tarantool
 test = require("sqltester")
-test:plan(178)
+test:plan(180)
 
 --!./tcltestrunner.lua
 -- 2009 January 29
@@ -33,6 +33,7 @@ local kwlist = {
 	"before",
 	"conflict",
 	"deferred",
+	"engine",
 	"fail",
 	"ignore",
 	"initially",