diff --git a/src/version.js b/src/version.js
index 304aef7760a311ce5f5b34beeef0056cd65f9ccd..29cb2fc6f67ede83b9c077a33cdf9e6584a7154a 100644
--- a/src/version.js
+++ b/src/version.js
@@ -45,8 +45,15 @@ export const versionUpdateGauge = new Gauge({
 export async function fetchVersionInfo () {
   const versions = await Promise.all(configMap.urls.map(async baseUrl => {
     try {
-      const response = await fetch(new URL('meta.json', baseUrl), { cache: 'no-store' })
-      if (!response.ok) throw new Error()
+      const response = await fetch(new URL('meta.json', baseUrl), { cache: 'no-store' }).catch((err) => {
+        logger.error(err)
+        logger.warn(`[Version] Failed to load meta.json from UI container at ${baseUrl}.`)
+        throw new Error()
+      })
+      if (!response.ok) {
+        logger.warn(`[Version] Failed to load meta.json from ${response.url} (Status: ${response.status}: ${response.statusText})`)
+        throw new Error()
+      }
 
       if (response.headers.get('version')) return response.headers.get('version')
 
@@ -55,10 +62,18 @@ export async function fetchVersionInfo () {
       if (!version) throw new Error()
       return version
     } catch (err) {
-      logger.warn(`[Version] UI container at ${baseUrl} does not have meta.json. Fall back to version hash based on manifest.`)
+      logger.warn('[Version] Fall back to version hash based on manifest.')
+    }
+
+    const response = await fetch(new URL('manifest.json', baseUrl), { cache: 'no-store' }).catch((err) => {
+      logger.error(err)
+      logger.warn(`[Version] Failed to load manifest.json from UI container at ${baseUrl}.`)
+      throw new Error(`Cannot fetch manifest.json from ${baseUrl}`)
+    })
+    if (!response.ok) {
+      logger.warn(`[Version] Failed to load manifest.json from ${response.url} (Status: ${response.status}: ${response.statusText})`)
+      throw new Error(`Cannot fetch manifest.json from ${baseUrl}`)
     }
-    const response = await fetch(new URL('manifest.json', baseUrl), { cache: 'no-store' })
-    if (!response.ok) throw new Error(`Cannot fetch manifest.json from ${baseUrl}`)
     const manifest = await response.json()
     return hash(manifest)
   }))