diff --git a/obexd/plugins/pbap.c b/obexd/plugins/pbap.c
index bab691c..ad93208 100644
--- a/obexd/plugins/pbap.c
+++ b/obexd/plugins/pbap.c
} else if (g_ascii_strcasecmp(type, VCARDLISTING_TYPE) == 0) {
/* Always relative */
- if (!name || strlen(name) == 0)
+ if (!name || strlen(name) == 0) {
/* Current folder */
path = g_strdup(pbap->folder);
- else
+ } else {
/* Current folder + relative path */
path = g_build_filename(pbap->folder, name, NULL);
+ /* clear cache */
+ pbap->cache.valid = FALSE;
+ pbap->cache.index = 0;
+ cache_clear(&pbap->cache);
+ }
} else if (g_ascii_strcasecmp(type, VCARDENTRY_TYPE) == 0) {
/* File name only */
path = g_strdup(name);