Index: /trunk/resources/data/defaultpresets.xml
===================================================================
--- /trunk/resources/data/defaultpresets.xml	(revision 18368)
+++ /trunk/resources/data/defaultpresets.xml	(revision 18369)
@@ -9189,8 +9189,8 @@
             <preset_link preset_name="Building part" />
             <roles>
-                <role key="outline" text="Outline of building" requisite="required" type="way,closedway,multipolygon" />
-                <role key="part" text="Inner segment" requisite="required" type="way,closedway,multipolygon" />
-                <role key="ridge" text="Roof ridge" requisite="optional" type="way,closedway" />
-                <role key="edge" text="Roof edge" requisite="optional" type="way,closedway" />
+                <role key="outline" text="Outline of building" requisite="required" count="1" type="closedway,multipolygon" member_expression="building=*" />
+                <role key="part" text="Inner segment" requisite="required" type="closedway,multipolygon" member_expression="&quot;building:part&quot;=*" />
+                <role key="ridge" text="Roof ridge" requisite="optional" type="way,closedway" member_expression="&quot;roof:ridge&quot;=yes" />
+                <role key="edge" text="Roof edge" requisite="optional" type="way,closedway" member_expression="&quot;roof:edge&quot;=yes" />
             </roles>
         </item> <!-- Building -->
@@ -9202,5 +9202,5 @@
             <roles>
                 <role key="label" text="where to place the label" requisite="optional" type="node" />
-                <role key="perimeter" text="perimeter of the site" requisite="optional" type="closedway,multipolygon" />
+                <role key="perimeter" text="perimeter of the site" requisite="optional" count="1" type="closedway,multipolygon" />
                 <role key="entrance" text="entrances to the site, on the perimeter" requisite="optional" type="node" />
                 <role key="" text="members of site" requisite="optional" type="node,way,closedway,multipolygon" />
Index: /trunk/resources/data/validator/relation.mapcss
===================================================================
--- /trunk/resources/data/validator/relation.mapcss	(revision 18368)
+++ /trunk/resources/data/validator/relation.mapcss	(revision 18369)
@@ -10,5 +10,4 @@
 /* see also #9071 */
 relation[type=boundary][!boundary][!disused:boundary],
-relation[type=building][!building],
 relation[type=destination_sign][!destination],
 relation[type=enforcement][!enforcement],
@@ -67,2 +66,8 @@
   throwWarning: tr("way with {0} is part of a {1} route relation", "{0.tag}", "{0.key}");
 }
+
+/* #21285, #21738 */
+relation[type=building][building] >[role=outline] *[building][parent_tag(building) != tag(building)] {
+  throwWarning: tr("{0} of {1} member and {0} relation differ", "{0.key}", "outline");
+  group: tr("suspicious tag combination");
+}
