diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c
index 29c3e550e7409a208f071fe28dfb0b85919ab479..d957af2d407922bc0413ae87f1f2ab86270f6acb 100644
--- a/src/backend/commands/functioncmds.c
+++ b/src/backend/commands/functioncmds.c
@@ -9,7 +9,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/commands/functioncmds.c,v 1.13 2002/07/24 19:11:09 petere Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/commands/functioncmds.c,v 1.14 2002/07/29 20:45:44 tgl Exp $
  *
  * DESCRIPTION
  *	  These routines take the parse tree and pick out the
@@ -764,8 +764,6 @@ DropCast(DropCastStmt *stmt)
 			elog(ERROR, "permission denied");
 	}
 
-	ReleaseSysCache(tuple);
-
 	/*
 	 * Do the deletion
 	 */
@@ -773,6 +771,8 @@ DropCast(DropCastStmt *stmt)
 	object.objectId = HeapTupleGetOid(tuple);
 	object.objectSubId = 0;
 
+	ReleaseSysCache(tuple);
+
 	performDeletion(&object, stmt->behavior);
 }