Index: src/routes/account.js
===================================================================
--- src/routes/account.js	(revision 834bcc3c41c52321679550863b74ca035538659f)
+++ src/routes/account.js	(revision 594cc50a8129da2718ac2bcd302e38991cd42653)
@@ -68,4 +68,5 @@
   if (account) { delete account.password_hash; delete account.google_sub; } // don't leak to the view
 
+  const editableSite = ownedSite(req.session.user);
   renderPage(req, res, 'pages/account', {
     pageTitle: 'Account',
@@ -75,5 +76,7 @@
     googleLinked,
     googleAvailable: googleConfigured(),
-    editableSite: ownedSite(req.session.user),
+    editableSite,
+    // Display fallback: when you have no own account avatar, show your site's photo.
+    siteAvatar: editableSite ? editableSite.profile_photo : null,
     success: req.query.success || null,
     error: req.query.error || null,
@@ -98,5 +101,5 @@
 function ownedSite(user) {
   if (!user) return null;
-  let site = db.prepare('SELECT id, title, tagline, slug, owner_id FROM sites WHERE owner_id = ? ORDER BY created_at LIMIT 1').get(user.id);
+  let site = db.prepare('SELECT id, title, tagline, slug, owner_id, profile_photo FROM sites WHERE owner_id = ? ORDER BY created_at LIMIT 1').get(user.id);
   if (!site && user.role === 'god') {
     site = getPrimarySite(); // primary/main site as fallback
