--- WebIDL.py
+++ WebIDL.py
@@ -1239,12 +1239,6 @@ class IDLInterface(IDLObjectWithScope, IDLExposureMixins):
                                               alias,
                                               [member.location, m.location])
 
-        if (self.getExtendedAttribute("Pref") and
-            self._exposureGlobalNames != set([self.parentScope.primaryGlobalName])):
-            raise WebIDLError("[Pref] used on an interface that is not %s-only" %
-                              self.parentScope.primaryGlobalName,
-                              [self.location])
-
         for attribute in ["CheckAnyPermissions", "CheckAllPermissions"]:
             if (self.getExtendedAttribute(attribute) and
                 self._exposureGlobalNames != set([self.parentScope.primaryGlobalName])):
@@ -3459,12 +3453,6 @@ class IDLInterfaceMember(IDLObjectWithIdentifier, IDLExposureMixins):
         IDLExposureMixins.finish(self, scope)
 
     def validate(self):
-        if (self.getExtendedAttribute("Pref") and
-            self.exposureSet != set([self._globalScope.primaryGlobalName])):
-            raise WebIDLError("[Pref] used on an interface member that is not "
-                              "%s-only" % self._globalScope.primaryGlobalName,
-                              [self.location])
-
         for attribute in ["CheckAnyPermissions", "CheckAllPermissions"]:
             if (self.getExtendedAttribute(attribute) and
                 self.exposureSet != set([self._globalScope.primaryGlobalName])):