diff --git a/lib/Properties.hs b/lib/Properties.hs
index e74640160450ade636f0df7e25c6404b8a82a3d5..4e8c7d9989c6812008816c61bf5ead84c5492c32 100644
--- a/lib/Properties.hs
+++ b/lib/Properties.hs
@@ -409,9 +409,9 @@ checkTileLayerProperty p@(Property name _value) = case name of
       requireProperty "playAudio"
     "openWebsiteTrigger" -> do
       isString p
-      requireProperty "openWebsite"
+      requireOneOf ["openWebsite", "openTab"]
       unlessHasProperty "openWebsiteTriggerMessage"
-        $ suggest "set \"openWebsiteTriggerMessage\" to a custom message to\
+        $ suggest "set \"openWebsiteTriggerMessage\" to a custom message to \
                   \overwrite the default \"press SPACE to open Website\"."
     "openWebsiteTriggerMessage" -> do
       isString p
@@ -496,6 +496,12 @@ checkTileLayerProperty p@(Property name _value) = case name of
         warnUnknown p knownTileLayerProperites
     where
       requireProperty req = propertyRequiredBy req name
+      requireOneOf names = do
+        context <- askContext
+        when (all (not . containsProperty context) names)
+          $ complain $ "property " <> prettyprint name <> " requires one of "
+                    <> prettyprint names
+
       isUnsupported = warn $ "property " <> name <> " is not (yet) supported by walint."
       deprecatedUseInstead instead =
         warn $ "property \"" <> name <> "\" is deprecated. Use \"" <> instead <> "\" instead."