diff --git a/.gitignore b/.gitignore
index 66fb587076db8d13812c6d878fdefed7814febef..d360765b039aa8fd273305d8132aee6d518f19f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,6 @@ target/
 .project
 .settings
 site
+.idea/
+ferma.iml
+
diff --git a/src/main/java/com/syncleus/ferma/framefactories/annotation/AdjacencyMethodHandler.java b/src/main/java/com/syncleus/ferma/framefactories/annotation/AdjacencyMethodHandler.java
index 4ae6fdd24f3ed0a0227fa97f5e886722f37689af..0ad0583aaa0dbe8c800b1b59dbdca95899624afb 100644
--- a/src/main/java/com/syncleus/ferma/framefactories/annotation/AdjacencyMethodHandler.java
+++ b/src/main/java/com/syncleus/ferma/framefactories/annotation/AdjacencyMethodHandler.java
@@ -362,7 +362,7 @@ public class AdjacencyMethodHandler extends AbstractMethodHandler {
                     default:
                         throw new IllegalStateException("Direction not recognized.");
                 }
-            }).next(VertexFrame.class);
+            }).nextOrDefault(VertexFrame.class, null);
         }
     }
 
diff --git a/src/test/java/com/syncleus/ferma/annotations/AdjacencyMethodHandlerTest.java b/src/test/java/com/syncleus/ferma/annotations/AdjacencyMethodHandlerTest.java
index 750230d46d26a6165760c653819ead0fd3706345..c359a97ed00a4db1530cfd4ee3bffc5a883d9a18 100644
--- a/src/test/java/com/syncleus/ferma/annotations/AdjacencyMethodHandlerTest.java
+++ b/src/test/java/com/syncleus/ferma/annotations/AdjacencyMethodHandlerTest.java
@@ -323,6 +323,26 @@ public class AdjacencyMethodHandlerTest {
         Assert.assertTrue(child instanceof GodExtended);
     }
 
+    @Test
+    public void testSetSonNull() {
+
+        GodGraphLoader.load(godGraph);
+
+        final FramedGraph framedGraph = new DelegatingFramedGraph(godGraph, TEST_TYPES);
+
+        final List<? extends God> gods = framedGraph.traverse(
+            input -> input.V().has("name", "jupiter")).toList(God.class);
+
+        final God father = gods.iterator().next();
+        Assert.assertTrue(father != null);
+        final VertexFrame fatherVertex = father;
+        Assert.assertEquals(fatherVertex.getProperty("name"), "jupiter");
+
+        father.setSon(null);
+        final God sonNull = father.getSon();
+        Assert.assertNull(sonNull);
+    }
+
     @Test
     public void testAddSonDefault() {