Index: libs/libmythtv/linuxfirewiredevice.cpp
===================================================================
--- libs/libmythtv/linuxfirewiredevice.cpp	(revision 12535)
+++ libs/libmythtv/linuxfirewiredevice.cpp	(working copy)
@@ -871,14 +871,16 @@
             continue;
         }
 
+        MythTimer guid_timer;
+        guid_timer.start();
         for (int node = 0; node < raw1394_get_nodecount(item.handle); node++)
         {
             bool tmp;
             uint64_t guid;
             if (!get_guid(item.handle, 0xffc0 | node, guid, tmp))
             {
-                if (tmp) // device has gone off-line temporarily
-                {
+                if (tmp && (guid_timer.elapsed() < 200))
+                { // device has gone off-line temporarily
                     usleep(10 * 1000);
                     node--;
                 }
@@ -889,6 +891,7 @@
             item.node = node;
             UpdateDeviceListItem(guid, &item);
             guid_online[guid] = true;
+            guid_timer.start();
         }
 
         raw1394_destroy_handle(item.handle);
