diff --git a/ghc/includes/PrimOps.h b/ghc/includes/PrimOps.h
index f16af6517ee2acce4ae81e59fe3c27ecd6143939..5a241b18a0931514f3a6ad36203f7345896744ca 100644
--- a/ghc/includes/PrimOps.h
+++ b/ghc/includes/PrimOps.h
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: PrimOps.h,v 1.3 1999/01/13 17:25:53 simonm Exp $
+ * $Id: PrimOps.h,v 1.4 1999/01/14 11:57:48 sewardj Exp $
  *
  * Macros for primitive operations in STG-ish C code.
  *
@@ -412,11 +412,13 @@ LI_ stg_word64ToInt64 (StgNat64);
 #define REAL_PTRS_ARR_CTS(a)   ((P_)   (((StgMutArrPtrs  *)(a))->payload))
 
 #ifdef DEBUG
-#define BYTE_ARR_CTS(a)				\
- ({ ASSERT(GET_INFO(a) == &ARR_WORDS_info);	\
+#define BYTE_ARR_CTS(a)				  \
+ ({ ASSERT((GET_INFO(a) == &ARR_WORDS_info) 	  \
+        || (GET_INFO(a) == &MUT_ARR_WORDS_info)); \
     REAL_BYTE_ARR_CTS(a); })
-#define PTRS_ARR_CTS(a)				\
- ({ ASSERT((GET_INFO(a) == &MUT_ARR_PTRS_info));\
+#define PTRS_ARR_CTS(a)				  \
+ ({ ASSERT((GET_INFO(a) == &ARR_PTRS_info)	  \
+	|| (GET_INFO(a) == &MUT_ARR_PTRS_info));  \
     REAL_PTRS_ARR_CTS(a); })
 #else
 #define BYTE_ARR_CTS(a)		REAL_BYTE_ARR_CTS(a)