diff --git a/tests/schema/core/issues/issue-530.json b/tests/schema/core/issues/issue-530.json
new file mode 100644
index 0000000000000000000000000000000000000000..25a75d96470bcdc4a330d369632009b5a3e5e0e9
--- /dev/null
+++ b/tests/schema/core/issues/issue-530.json
@@ -0,0 +1,66 @@
+[
+  {
+    "description": "jsf.resolve() hangs with circular reference when alwaysFakeOptionals is true",
+    "tests": [
+      {
+        "description": "should resolve circular-refs now",
+        "schema": {
+          "type": "object",
+          "definitions": {
+            "collectionDef": {
+              "additionalProperties": false,
+              "properties": {
+                "a": {
+                  "items": {
+                    "$ref": "#/definitions/aDef"
+                  },
+                  "type": "array"
+                },
+                "b": {
+                  "type": "string"
+                }
+              },
+              "type": "object",
+              "required": [
+                "b",
+                "a"
+              ]
+            },
+            "aDef": {
+              "additionalProperties": true,
+              "properties": {
+                "subA": {
+                  "items": {
+                    "$ref": "#/definitions/aDef"
+                  },
+                  "type": "array"
+                },
+                "b": {
+                  "type": "string"
+                }
+              },
+              "type": "object"
+            }
+          },
+          "properties": {
+            "name": {
+              "type": "string",
+              "faker": "name.findName"
+            },
+            "email": {
+              "type": "string",
+              "faker": "internet.email"
+            },
+            "collection": {
+              "$ref": "#/definitions/collectionDef"
+            }
+          },
+          "required": [
+            "name"
+          ]
+        },
+        "valid": true
+      }
+    ]
+  }
+]