diff --git a/app/Controllers/ActorController.php b/app/Controllers/ActorController.php
index 5f97e469b6ac6a4d72439e6af61d2cd62efc854d..9e2138e11712ad7d5e3ad2c8a62ad49171c5ebdc 100644
--- a/app/Controllers/ActorController.php
+++ b/app/Controllers/ActorController.php
@@ -30,21 +30,13 @@ class ActorController extends FediverseActorController
             $this->registerPodcastWebpageHit($this->actor->podcast->id);
         }
 
-        $cacheName = "page_podcast-{$this->actor->username}_follow";
-        if (! ($cachedView = cache($cacheName))) {
-            helper(['form', 'components', 'svg']);
-            $data = [
-                // @phpstan-ignore-next-line
-                'metatags' => get_follow_metatags($this->actor),
-                'actor' => $this->actor,
-            ];
-
-            return view('podcast/follow', $data, [
-                'cache' => DECADE,
-                'cache_name' => $cacheName,
-            ]);
-        }
+        helper(['form', 'components', 'svg']);
+        $data = [
+            // @phpstan-ignore-next-line
+            'metatags' => get_follow_metatags($this->actor),
+            'actor' => $this->actor,
+        ];
 
-        return $cachedView;
+        return view('podcast/follow', $data);
     }
 }
diff --git a/app/Language/en/Fediverse.php b/app/Language/en/Fediverse.php
index d1faa771af5166e4b068acf5aef706b4dd0696de..32f54c074f81481a0f66b3947080dc44759a6964 100644
--- a/app/Language/en/Fediverse.php
+++ b/app/Language/en/Fediverse.php
@@ -16,6 +16,7 @@ return [
         'title' => 'Follow {actorDisplayName}',
         'subtitle' => 'You are going to follow:',
         'accountNotFound' => 'The account could not be found.',
+        'remoteFollowNotAllowed' => 'Seems like the account server does not allow remote follows…',
         'submit' => 'Proceed to follow',
     ],
     'favourite' => [
diff --git a/app/Language/fr/Fediverse.php b/app/Language/fr/Fediverse.php
index 0baa767c58bc82150ebf1755f19716e8203b21e5..7f22806ea54afc213c422e8abfbad13b19e51519 100644
--- a/app/Language/fr/Fediverse.php
+++ b/app/Language/fr/Fediverse.php
@@ -15,23 +15,24 @@ return [
     'follow' => [
         'label' => 'Suivre',
         'title' => 'Suivre {actorDisplayName}',
-        'subtitle' => 'Vous allez suivre :',
+        'subtitle' => 'Vous allez suivre :',
         'accountNotFound' => 'Le compte n’a pas pu être trouvé.',
+        'remoteFollowNotAllowed' => 'Il semble que le serveur du compte ne permet pas le suivi d’un compte externe…',
         'submit' => 'Poursuivre',
     ],
     'favourite' => [
         'title' => 'Mettez la publication de {actorDisplayName} en favori',
-        'subtitle' => 'Vous allez mettre en favori :',
+        'subtitle' => 'Vous allez mettre en favori :',
         'submit' => 'Poursuivre',
     ],
     'reblog' => [
         'title' => 'Partagez la publication de {actorDisplayName}',
-        'subtitle' => 'Vous allez partager :',
+        'subtitle' => 'Vous allez partager :',
         'submit' => 'Poursuivre',
     ],
     'reply' => [
         'title' => 'Répondre à la publication de {actorDisplayName}',
-        'subtitle' => 'Vous allez répondre à :',
+        'subtitle' => 'Vous allez répondre à :',
         'submit' => 'Poursuivre',
     ],
 ];
diff --git a/app/Language/pl/Fediverse.php b/app/Language/pl/Fediverse.php
index cf063da3407ba8cc2cb0d7a32ffd9487cb69b20c..5c825e2306ba72233af967cfdf45dc4b54bb180c 100644
--- a/app/Language/pl/Fediverse.php
+++ b/app/Language/pl/Fediverse.php
@@ -16,6 +16,7 @@ return [
         'title' => 'Obserwuj {actorDisplayName}',
         'subtitle' => 'Zamierzasz obserwować:',
         'accountNotFound' => 'Nie można znaleźć konta.',
+        'remoteFollowNotAllowed' => 'Seems like the account server does not allow remote follows…',
         'submit' => 'Przejdź do obserwowania',
     ],
     'favourite' => [
diff --git a/modules/Fediverse/Controllers/ActorController.php b/modules/Fediverse/Controllers/ActorController.php
index 7962a3967683534450283265a6c433588e2673b6..57692c3c9220c64b273270a404fd8005228efdc7 100644
--- a/modules/Fediverse/Controllers/ActorController.php
+++ b/modules/Fediverse/Controllers/ActorController.php
@@ -15,6 +15,7 @@ use CodeIgniter\Exceptions\PageNotFoundException;
 use CodeIgniter\HTTP\RedirectResponse;
 use CodeIgniter\HTTP\ResponseInterface;
 use CodeIgniter\I18n\Time;
+use Exception;
 use Modules\Fediverse\Config\Fediverse;
 use Modules\Fediverse\Entities\Actor;
 use Modules\Fediverse\Entities\Post;
@@ -353,10 +354,12 @@ class ActorController extends Controller
         // parse actor id to get actor and domain
         // check if actor and domain exist
 
-        if (
-            ! ($parts = split_handle($this->request->getPost('handle'))) ||
-            ! ($data = get_webfinger_data($parts['username'], $parts['domain']))
-        ) {
+        $handle = $this->request->getPost('handle');
+        $parts = split_handle($handle);
+
+        try {
+            $data = get_webfinger_data($parts['username'], $parts['domain']);
+        } catch (Exception) {
             return redirect()
                 ->back()
                 ->withInput()
@@ -372,7 +375,10 @@ class ActorController extends Controller
         if (! $ostatusKey) {
             // TODO: error, couldn't subscribe to activitypub account
             // The instance doesn't allow its users to follow others
-            return $this->response->setJSON([]);
+            return redirect()
+                ->back()
+                ->withInput()
+                ->with('error', lang('Fediverse.follow.remoteFollowNotAllowed'));
         }
 
         return redirect()->to(
diff --git a/themes/cp_app/_message_block.php b/themes/cp_app/_message_block.php
new file mode 100644
index 0000000000000000000000000000000000000000..1504aa372c71b16280bc6967d34588142527f3e4
--- /dev/null
+++ b/themes/cp_app/_message_block.php
@@ -0,0 +1,19 @@
+<?php declare(strict_types=1);
+
+if (session()->has('message')): ?>
+    <Alert variant="success" class="mb-4"><?= esc(session('message')) ?></Alert>
+<?php endif; ?>
+
+<?php if (session()->has('error')): ?>
+    <Alert variant="danger" class="mb-4"><?= esc(session('error')) ?></Alert>
+<?php endif; ?>
+
+<?php if (session()->has('errors')): ?>
+    <Alert variant="danger" class="mb-4">
+        <ul>
+            <?php foreach (session('errors') as $error): ?>
+                <li><?= esc($error) ?></li>
+            <?php endforeach; ?>
+        </ul>
+    </Alert>
+<?php endif; ?>