LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug

Add a test and a changes.xml entry.
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 5846472..ec74e49 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -47,7 +47,8 @@
 
   <release version="3.7" date="tba" description="tba">
     <action issue="LANG-1346" type="update" dev="pschumacher">Remove deprecation from RandomStringUtils</action>
-    <action issue="LANG-1350" type="update" dev="ggregory" due-to="Brett Kail">ConstructorUtils.invokeConstructor(Class, Object...) regression</action>
+    <action issue="LANG-1350" type="fix" dev="ggregory" due-to="Brett Kail">ConstructorUtils.invokeConstructor(Class, Object...) regression</action>
+    <action issue="LANG-1349" type="fix" dev="pschumacher" due-to="Naman Nigam">EqualsBuilder#isRegistered: swappedPair construction bug</action>
   </release>
 
   <release version="3.6" date="2017-06-08" description="New features and bug fixes. Requires Java 7.">
diff --git a/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java b/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java
index 3e47b3a..8dad5e8 100644
--- a/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java
+++ b/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java
@@ -21,8 +21,10 @@
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
+import java.lang.reflect.Method;
 import java.util.Arrays;
 
+import org.apache.commons.lang3.reflect.MethodUtils;
 import org.junit.Test;
 
 /**
@@ -1339,5 +1341,17 @@ public void testReflectionAppend() {
         assertFalse(new EqualsBuilder().reflectionAppend(null, o2).build());
     }
 
+    @Test
+    public void testIsRegistered() throws Exception {
+        Object firstObject = new Object();
+        Object secondObject = new Object();
+
+        Method registerMethod = MethodUtils.getMatchingMethod(EqualsBuilder.class, "register", Object.class, Object.class);
+        registerMethod.setAccessible(true);
+        registerMethod.invoke(null, firstObject, secondObject);
+
+        assertTrue(EqualsBuilder.isRegistered(firstObject, secondObject));
+        assertTrue(EqualsBuilder.isRegistered(secondObject, firstObject)); // LANG-1349
+    }
 }