diff --git a/src/uas/QGCUASFileManager.cc b/src/uas/QGCUASFileManager.cc
index 36dae2be00eea60bf2f7ed9822e6b0ff303c25ba..cf19f508c6c158849cfa4dba4d37927420dfc786 100644
--- a/src/uas/QGCUASFileManager.cc
+++ b/src/uas/QGCUASFileManager.cc
@@ -160,7 +160,7 @@ void QGCUASFileManager::_listAckResponse(Request* listAck)
         // get the length of the name
         uint8_t cBytesLeft = cBytes - offset;
         size_t nlen = strnlen(ptr, cBytesLeft);
-        if (nlen < 2) {
+        if ((*ptr == 'S' && nlen > 1) || (*ptr != 'S' && nlen < 2)) {
             _currentOperation = kCOIdle;
             _emitErrorMessage(tr("Incorrectly formed list entry: '%1'").arg(ptr));
             return;
@@ -170,10 +170,12 @@ void QGCUASFileManager::_listAckResponse(Request* listAck)
             return;
         }
 
-        // Returned names are prepended with D for directory, F for file, U for unknown
+        // Returned names are prepended with D for directory, F for file, S for skip
         if (*ptr == 'F' || *ptr == 'D') {
             // put it in the view
             _emitListEntry(ptr);
+        } else if (*ptr == 'S') {
+            // do nothing
         } else {
             qDebug() << "unknown entry" << ptr;
         }