diff --git a/firmware_handler.cpp b/firmware_handler.cpp
index f6c5472..f3daae3 100644
--- a/firmware_handler.cpp
+++ b/firmware_handler.cpp
@@ -187,12 +187,15 @@
         auto d = std::find_if(
             transports.begin(), transports.end(),
             [&flags](const auto& iter) { return (iter.bitmask & flags); });
-        if (d != transports.end())
+        if (d == transports.end())
         {
-            /* We found the transport handler they requested, no surprise since
-             * above we verify they selected at least one we wanted. */
+            return false;
         }
 
+        /* We found the transport handler they requested, no surprise since
+         * above we verify they selected at least one we wanted.
+         */
+
         /* 2d) are they opening the /flash/tarball ? (to start the UBI process)
          */
         /* 2e) are they opening the /flash/image ? (to start the process) */
@@ -201,15 +204,19 @@
         auto h = std::find_if(
             handlers.begin(), handlers.end(),
             [&path](const auto& iter) { return (iter.blobName == path); });
-        if (h != handlers.end())
+        if (h == handlers.end())
         {
-            /* Ok, so we found a handler that matched, so call open() */
-            if (h->handler->open(path))
-            {
-                /* open() succeeded. */
-            }
+            return false;
         }
 
+        /* Ok, so we found a handler that matched, so call open() */
+        if (!h->handler->open(path))
+        {
+            return false;
+        }
+
+        /* open() succeeded. */
+
         /* TODO: Actually handle storing this information. */
     }
 
