diff --git a/lib/datasource/metadata.ts b/lib/datasource/metadata.ts
index 41e014cba2961a9c887f9991b444b6446804e7a7..7aef15c5472ddb0a3eb1bb48198447fd9332ca51 100644
--- a/lib/datasource/metadata.ts
+++ b/lib/datasource/metadata.ts
@@ -4,6 +4,7 @@ import { DateTime } from 'luxon';
 import * as hostRules from '../util/host-rules';
 import { validateUrl } from '../util/url';
 import type { ReleaseResult } from './types';
+import is from '@sindresorhus/is';
 
 // Use this object to define changelog URLs for packages
 // Only necessary when the changelog data cannot be found in the package's source repository
@@ -231,7 +232,7 @@ export function addMetaData(
   // Clean up any empty urls
   const urls = ['homepage', 'sourceUrl', 'changelogUrl', 'dependencyUrl'];
   for (const url of urls) {
-    if (validateUrl(dep[url]?.trim())) {
+    if (is.string(dep[url]) && validateUrl(dep[url].trim())) {
       dep[url] = dep[url].trim();
     } else {
       delete dep[url];