diff --git a/src/action-log.cc b/src/action-log.cc
index 2d8ebc1..9d96efc 100644
--- a/src/action-log.cc
+++ b/src/action-log.cc
@@ -663,7 +663,7 @@
                           "       file_hash,strftime('%s', file_mtime),file_chmod,file_seg_num, "
                           "       parent_device_name,parent_seq_no "
                           "   FROM ActionLog "
-                          "   WHERE is_prefix (?, directory)=1 "
+                          "   WHERE is_dir_prefix (?, directory)=1 "
                           "   ORDER BY action_timestamp DESC "
                           "   LIMIT ? OFFSET ?", -1, &stmt, 0); // there is a small ambiguity with is_prefix matching, but should be ok for now
       _LOG_DEBUG_COND (sqlite3_errcode (m_db) != SQLITE_OK, sqlite3_errmsg (m_db));
diff --git a/src/db-helper.cc b/src/db-helper.cc
index 538e137..dca3bdc 100644
--- a/src/db-helper.cc
+++ b/src/db-helper.cc
@@ -68,8 +68,13 @@
                              << errmsg_info_str ("Cannot create function ``directory_name''"));
     }
 
-  // Alex: determine if tables initialized. if not, initialize... not sure what is the best way to go...
-  // for now, just attempt to create everything
+  res = sqlite3_create_function (m_db, "is_dir_prefix", 2, SQLITE_ANY, 0, DbHelper::is_dir_prefix_xFun, 0, 0);
+  if (res != SQLITE_OK)
+    {
+      BOOST_THROW_EXCEPTION (Error::Db ()
+                             << errmsg_info_str ("Cannot create function ``is_dir_prefix''"));
+    }
+
   sqlite3_exec (m_db, INIT_DATABASE.c_str (), NULL, NULL, NULL);
   _LOG_DEBUG_COND (sqlite3_errcode (m_db) != SQLITE_OK, sqlite3_errmsg (m_db));
 }
@@ -208,3 +213,45 @@
       sqlite3_result_text (context, dirPath.c_str (), dirPath.size (), SQLITE_TRANSIENT);
     }
 }
+
+void
+DbHelper::is_dir_prefix_xFun (sqlite3_context *context, int argc, sqlite3_value **argv)
+{
+  int len1 = sqlite3_value_bytes (argv[0]);
+  int len2 = sqlite3_value_bytes (argv[1]);
+
+  if (len1 == 0)
+    {
+      sqlite3_result_int (context, 1);
+      return;
+    }
+
+  if (len1 > len2) // first parameter should be at most equal in length to the second one
+    {
+      sqlite3_result_int (context, 0);
+      return;
+    }
+
+  if (memcmp (sqlite3_value_blob (argv[0]), sqlite3_value_blob (argv[1]), len1) == 0)
+    {
+      if (len1 == len2)
+        {
+          sqlite3_result_int (context, 1);
+        }
+      else
+        {
+          if (reinterpret_cast<const char*> (sqlite3_value_blob (argv[1]))[len1] == '/')
+            {
+              sqlite3_result_int (context, 1);
+            }
+          else
+            {
+              sqlite3_result_int (context, 0);
+            }
+        }
+    }
+  else
+    {
+      sqlite3_result_int (context, 0);
+    }
+}
diff --git a/src/db-helper.h b/src/db-helper.h
index 0bc1a56..abd9a90 100644
--- a/src/db-helper.h
+++ b/src/db-helper.h
@@ -51,6 +51,9 @@
   static void
   directory_name_xFun (sqlite3_context *context, int argc, sqlite3_value **argv);
 
+  static void
+  is_dir_prefix_xFun (sqlite3_context *context, int argc, sqlite3_value **argv);
+
 protected:
   sqlite3 *m_db;
 };
diff --git a/src/file-state.cc b/src/file-state.cc
index 6ace814..d361eb7 100644
--- a/src/file-state.cc
+++ b/src/file-state.cc
@@ -303,7 +303,7 @@
       sqlite3_prepare_v2 (m_db,
                           "SELECT filename,version,device_name,seq_no,file_hash,strftime('%s', file_mtime),file_chmod,file_seg_num,is_complete "
                           "   FROM FileState "
-                          "   WHERE type = 0 AND is_prefix (?, directory)=1 "
+                          "   WHERE type = 0 AND is_dir_prefix (?, directory)=1 "
                           "   ORDER BY filename "
                           "   LIMIT ? OFFSET ?", -1, &stmt, 0); // there is a small ambiguity with is_prefix matching, but should be ok for now
       _LOG_DEBUG_COND (sqlite3_errcode (m_db) != SQLITE_OK, sqlite3_errmsg (m_db));
