diff --git a/schemas/v3.1/schema.yaml b/schemas/v3.1/schema.yaml
index 64fa7522a1..58e054b501 100644
--- a/schemas/v3.1/schema.yaml
+++ b/schemas/v3.1/schema.yaml
@@ -105,11 +105,11 @@ $defs:
         format: uri
     required:
       - name
-    oneOf:
-      - required:
-        - identifier
-      - required:
-        - url
+    dependentSchemas:
+      identifier:
+        not:
+          required:
+            - url
     $ref: '#/$defs/specification-extensions'
     unevaluatedProperties: false