diff --git a/src/libostree/ostree-core.c b/src/libostree/ostree-core.c
index 1f352a7c..77c31fe9 100644
--- a/src/libostree/ostree-core.c
+++ b/src/libostree/ostree-core.c
@@ -417,6 +417,12 @@ ostree_content_stream_parse (GInputStream           *input,
                    (guint)archive_header_size, input_length);
       goto out;
     }
+  if (archive_header_size == 0)
+    {
+      g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
+                   "File header size is zero");
+      goto out;
+    }
 
   /* Skip over padding */
   if (!g_input_stream_read_all (input,
diff --git a/src/ostree/ot-builtin-fsck.c b/src/ostree/ot-builtin-fsck.c
index c617ccd6..362f0260 100644
--- a/src/ostree/ot-builtin-fsck.c
+++ b/src/ostree/ot-builtin-fsck.c
@@ -217,7 +217,10 @@ fsck_reachable_objects_from_commits (OtFsckData            *data,
           ot_clear_gvariant (&metadata);
           if (!ostree_repo_load_variant (data->repo, objtype,
                                          checksum, &metadata, error))
-            goto out;
+            {
+              g_prefix_error (error, "Loading metadata object %s: ", checksum);
+              goto out;
+            }
 
           if (objtype == OSTREE_OBJECT_TYPE_COMMIT)
             {
@@ -255,7 +258,10 @@ fsck_reachable_objects_from_commits (OtFsckData            *data,
           guint32 mode;
           if (!ostree_repo_load_file (data->repo, checksum, &input, &file_info,
                                       &xattrs, cancellable, error))
-            goto out;
+            {
+              g_prefix_error (error, "Loading file object %s: ", checksum);
+              goto out;
+            }
 
           mode = g_file_info_get_attribute_uint32 (file_info, "unix::mode");
           if (!ostree_validate_structureof_file_mode (mode, error))