50a999
diff -ruNp a/app/xcf/xcf-load.c b/app/xcf/xcf-load.c
50a999
--- a/app/xcf/xcf-load.c	2017-04-30 23:47:39.000000000 +0200
50a999
+++ b/app/xcf/xcf-load.c	2022-12-06 13:56:21.018561154 +0100
50a999
@@ -657,7 +657,12 @@ xcf_load_image_props (XcfInfo   *info,
50a999
           break;
50a999
 
50a999
         case PROP_PATHS:
50a999
-          xcf_load_old_paths (info, image);
50a999
+          {
50a999
+            goffset base = info->cp;
50a999
+
50a999
+            if (! xcf_load_old_paths (info, image))
50a999
+              xcf_seek_pos (info, base + prop_size, NULL);
50a999
+          }
50a999
           break;
50a999
 
50a999
         case PROP_USER_UNIT:
50a999
@@ -1765,8 +1770,11 @@ xcf_load_old_paths (XcfInfo   *info,
50a999
   info->cp += xcf_read_int32 (info->fp, &last_selected_row, 1);
50a999
   info->cp += xcf_read_int32 (info->fp, &num_paths, 1);
50a999
 
50a999
+/*  GIMP_LOG (XCF, "Number of old paths: %u", num_paths); */
50a999
+
50a999
   while (num_paths-- > 0)
50a999
-    xcf_load_old_path (info, image);
50a999
+    if (! xcf_load_old_path (info, image))
50a999
+      return FALSE;
50a999
 
50a999
   active_vectors =
50a999
     GIMP_VECTORS (gimp_container_get_child_by_index (gimp_image_get_vectors (image),
50a999
@@ -1817,7 +1825,7 @@ xcf_load_old_path (XcfInfo   *info,
50a999
     }
50a999
   else if (version != 1)
50a999
     {
50a999
-      g_warning ("Unknown path type. Possibly corrupt XCF file");
50a999
+      g_warning ("Unknown path type (version: %u). Possibly corrupt XCF file.\n", version);
50a999
 
50a999
       return FALSE;
50a999
     }