diff --git a/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java b/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java
index 37311e2f302ef069d82c7c8df74bc6b8bc885299..e143848a1fa7c48d8456a9d7fb104da7ba241c10 100644
--- a/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java
+++ b/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java
@@ -522,7 +522,7 @@ public class LinkDiscoveryManager
 
         OFPhysicalPort physicalPort = remoteSwitch.getPort(remotePort);
         int srcPortState = (physicalPort != null) ? physicalPort.getState() : 0;
-        physicalPort = sw.getPort(remotePort);
+        physicalPort = sw.getPort(pi.getInPort());
         int dstPortState = (physicalPort != null) ? physicalPort.getState() : 0;
 
         // Store the time of update to this link, and push it out to routingEngine
diff --git a/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java b/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java
index 3ed1d8499fbfcfa34f886e2cf0d6ae451e072ba5..6b2c4a864ca6215e33f0998ab550c33f08504b75 100644
--- a/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java
+++ b/src/test/java/net/floodlightcontroller/core/internal/ControllerTest.java
@@ -1158,17 +1158,17 @@ public class ControllerTest extends FloodlightTestCase {
      */
     @Test
     public void testRemoveActiveSwitch() {
-    	IOFSwitch sw = EasyMock.createNiceMock(IOFSwitch.class);
-    	boolean exceptionThrown = false;
-    	expect(sw.getId()).andReturn(1L).anyTimes();
-    	replay(sw);
-    	getController().activeSwitches.put(sw.getId(), sw);
-    	try {
-    		getController().getSwitches().remove(1L);
-    	} catch (UnsupportedOperationException e) {
-    		exceptionThrown = true;
-    	}
-    	assertTrue(exceptionThrown);
-    	verify(sw);
+        IOFSwitch sw = EasyMock.createNiceMock(IOFSwitch.class);
+        boolean exceptionThrown = false;
+        expect(sw.getId()).andReturn(1L).anyTimes();
+        replay(sw);
+        getController().activeSwitches.put(sw.getId(), sw);
+        try {
+            getController().getSwitches().remove(1L);
+        } catch (UnsupportedOperationException e) {
+            exceptionThrown = true;
+        }
+        assertTrue(exceptionThrown);
+        verify(sw);
     }
 }