--- xmlschemas.c.orig	2011-04-24 14:58:16.000000000 +0000
+++ xmlschemas.c	2011-04-24 15:47:50.000000000 +0000
@@ -15158,7 +15158,11 @@
     }
     if ( (WXS_IS_LIST(type) || WXS_IS_UNION(type)) &&
 	 (WXS_IS_RESTRICTION(type) == 0) &&
-	 (! WXS_IS_ANY_SIMPLE_TYPE(baseType))) {
+	 (
+	   (! WXS_IS_ANY_SIMPLE_TYPE(baseType))
+	   && (baseType->type != XML_SCHEMA_TYPE_SIMPLE)
+	 )
+	) {
 	xmlSchemaPCustomErr(ctxt,
 	    XML_SCHEMAP_ST_PROPS_CORRECT_1,
 	    WXS_BASIC_CAST type, NULL,
