diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 73c446a..47268db 100644
*** a/src/backend/parser/gram.y
--- b/src/backend/parser/gram.y
*************** AlterExtensionContentsStmt:
*** 3729,3735 ****
  					n->objargs = list_make1(makeString($9));
  					$$ = (Node *)n;
  				}
! 			| ALTER EXTENSION name add_drop SCHEMA name
  				{
  					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
  					n->extname = $3;
--- 3729,3744 ----
  					n->objargs = list_make1(makeString($9));
  					$$ = (Node *)n;
  				}
! 				| ALTER EXTENSION name add_drop RULE name ON any_name
! 				{
! 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
! 					n->extname = $3;
! 					n->action = $4;
! 					n->objtype = OBJECT_RULE;
! 					n->objname = lappend($8, makeString($6));
! 					$$ = (Node *)n;
! 				}
! 				| ALTER EXTENSION name add_drop SCHEMA name
  				{
  					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
  					n->extname = $3;
diff --git a/src/backend/rewrite/rewriteDefine.c b/src/backend/rewrite/rewriteDefine.c
index cb59f13..c48c661 100644
*** a/src/backend/rewrite/rewriteDefine.c
--- b/src/backend/rewrite/rewriteDefine.c
*************** InsertRule(char *rulname,
*** 181,186 ****
--- 181,189 ----
  							   DEPENDENCY_NORMAL);
  	}
  
+ 	/* dependency on extension */
+ 	recordDependencyOnCurrentExtension(&myself, is_update);
+ 
  	/* Post creation hook for new rule */
  	InvokeObjectPostCreateHook(RewriteRelationId, rewriteObjectId, 0);
  
