diff --git a/clx/gcontext.lisp b/clx/gcontext.lisp
index 4d3b30b1d3fc17f45d119c6b518540ef12851fe6..298cb35fc658d89153a2c954a171c8708742897b 100644
--- a/clx/gcontext.lisp
+++ b/clx/gcontext.lisp
@@ -623,10 +623,9 @@
     (if setfs
 	`(multiple-value-bind (,gc ,saved-state ,temp-mask ,temp-gc)
 	     (copy-gcontext-local-state ,gcontext ',indexes ,@extension-indexes)
-	   (declare (type gcontext ,gc)
+	   (declare (type gcontext ,gc ,temp-gc)
 		    (type gcontext-state ,saved-state)
-		    (type xgcmask ,temp-mask)
-		    (type (or null resource-id) ,temp-gc))
+		    (type xgcmask ,temp-mask))
 	   (with-gcontext-bindings (,gc ,saved-state
 					,(append indexes extension-indexes)
 				    ,ts-index ,temp-mask ,temp-gc)