diff --git a/ospf6d/ospf6_message.c b/ospf6d/ospf6_message.c
index d382f03..439f6a6 100644
--- a/ospf6d/ospf6_message.c
+++ b/ospf6d/ospf6_message.c
@@ -245,6 +245,7 @@
   char *p;
   int twoway = 0;
   int neighborchange = 0;
+  int neighbor_ifindex_change = 0;
   int backupseen = 0;
 
   hello = (struct ospf6_hello *)
@@ -285,10 +286,17 @@
       on->priority = hello->priority;
     }
 
-  /* always override neighbor's source address and ifindex */
-  on->ifindex = ntohl (hello->interface_id);
+  /* Always override neighbor's source address */
   memcpy (&on->linklocal_addr, src, sizeof (struct in6_addr));
 
+  /* Neighbor ifindex check */
+  if (on->ifindex > 0 
+      && (unsigned int) on->ifindex != ntohl (hello->interface_id))
+    {
+      on->ifindex = ntohl (hello->interface_id);
+      neighbor_ifindex_change++;
+    }
+
   /* TwoWay check */
   for (p = (char *) ((caddr_t) hello + sizeof (struct ospf6_hello));
        p + sizeof (u_int32_t) <= OSPF6_MESSAGE_END (oh);
@@ -348,6 +356,9 @@
     thread_add_event (master, backup_seen, oi, 0);
   if (neighborchange)
     thread_add_event (master, neighbor_change, oi, 0);
+
+  if (neighbor_ifindex_change && on->state == OSPF6_NEIGHBOR_FULL)
+    OSPF6_ROUTER_LSA_SCHEDULE (oi->area);
 }
 
 static void
