diff --git a/lib/CF/Schema/Result/Post_view.pm b/lib/CF/Schema/Result/Post_view.pm
index 6c12f086f08c037fb60f2bb553e3b6d691cc2fad..6b2151c34f604ef7df490c20d21ca41158dd81b0 100644
--- a/lib/CF/Schema/Result/Post_view.pm
+++ b/lib/CF/Schema/Result/Post_view.pm
@@ -14,6 +14,7 @@ __PACKAGE__->add_columns(
         ranking_score
         user_name
         user_username
+        user_is_banned
         group_name
     ),
 );
@@ -32,10 +33,11 @@ sub format {
         is_archived => $self->is_archived,
         is_changed  => $self->changed ? 1 : 0,
         author => {
-            id       => $self->user_id,
-            name     => $self->user_name,
-            group    => $self->group_name,
-            username => $self->user_username,
+            id        => $self->user_id,
+            name      => $self->user_name,
+            group     => $self->group_name,
+            username  => $self->user_username,
+            is_banned => $self->user_is_banned,
         },
         ranking => {
             score    => $self->ranking_score,
diff --git a/sql/2/up.sql b/sql/2/up.sql
index a3215123ee8a3eec3ca762415002e41b8abf53ea..e5a259589a73c332f7803f950849ee1fabe28b02 100644
--- a/sql/2/up.sql
+++ b/sql/2/up.sql
@@ -38,7 +38,8 @@ select
     "posts"."ranking_likes" - "posts"."ranking_dislikes" as "ranking_score",
     "users"."name" as "user_name",
     "users"."main_group_name" as "group_name",
-    "users"."username" as "user_username"
+    "users"."username" as "user_username",
+    extract(epoch from "users"."banned_until"-now()) > 0 as "user_is_banned"
 from posts
 join "users" on ("posts"."user_id" = "users"."id")
 ;