Index: /trunk/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp	(revision 50554)
+++ /trunk/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp	(revision 50555)
@@ -1124,8 +1124,5 @@
     for (int i = 0; i < cIfacesSystem; ++i)
     {
-# ifdef RT_OS_OS2
-        ifreq IfReqCopy = ifrequest[i];
-# endif
-        /* Get the interface flags. */
+        /* Get the interface flags - ASSUMES the address isn't really overwritten (ugly). */
         if (ioctl(sd, SIOCGIFFLAGS, &ifrequest[i]) < 0)
         {
@@ -1143,7 +1140,6 @@
         bool const fIfUp = !!(ifrequest[i].ifr_flags & IFF_UP);
 
-# ifdef RT_OS_OS2 /* I think this should be done everywhere. */
-        /* Get the address. */
-        ifrequest[i] = IfReqCopy;
+# ifdef RT_OS_OS2
+        /* Don't know what OS/2 returns in SIOCGIFCONF, but it isn't the address.  Get it. */
         if (ioctl(sd, SIOCGIFADDR, &ifrequest[i]) < 0)
         {
