diff --git a/aleksis/apps/paweljong/forms.py b/aleksis/apps/paweljong/forms.py
index 0a24683b1a136fd672bd76a4ff86703123a807f6..c864f82da15981bb728a2a7ee16344ba70a950c5 100644
--- a/aleksis/apps/paweljong/forms.py
+++ b/aleksis/apps/paweljong/forms.py
@@ -489,3 +489,15 @@ class RegistrationStatesForm(forms.ModelForm):
     class Meta:
         model = RegistrationState
         exclude = []
+
+
+class PersonGroupFormPerson(forms.Form):
+
+    layout = Layout("username")
+
+    username = forms.CharField(
+        required=True,
+        label=_("Person"),
+        widget=forms.TextInput(attrs={"autofocus": "", "autocomplete": "off"}),
+        help_text=_("Please enter a username."),
+    )
diff --git a/aleksis/apps/paweljong/tables.py b/aleksis/apps/paweljong/tables.py
index c629a15619e71fe849d6eb734b6c51a3837d10c9..07ae03ac4f7fc5480fbba124366c55038d874bed 100644
--- a/aleksis/apps/paweljong/tables.py
+++ b/aleksis/apps/paweljong/tables.py
@@ -134,3 +134,27 @@ class RegistrationStatesTable(tables.Table):
     def render_name(self, value, record):
         context = dict(state=record)
         return render_to_string("paweljong/registration_state/chip.html", context)
+
+
+class ChildGroupsTable(tables.Table):
+    """Table to list groups."""
+
+    class Meta:
+        attrs = {"class": "highlight"}
+
+    name = tables.LinkColumn("group_by_id", args=[A("id")])
+    short_name = tables.LinkColumn("group_by_id", args=[A("id")])
+
+    add_persons = tables.LinkColumn(
+        "add_persons_to_group",
+        args=[A("id")],
+        verbose_name=_("Add persons"),
+        text=_("Add persons"),
+    )
+
+
+class AdditionalFieldsTable(tables.Table):
+    class Meta:
+        attrs = {"class": "highlight"}
+
+    title = tables.LinkColumn("edit_additional_field_by_id", args=[A("id")])
diff --git a/aleksis/apps/paweljong/templates/paweljong/event/detail.html b/aleksis/apps/paweljong/templates/paweljong/event/detail.html
index 75616218f7f00168e9b295f92b08107e425ed98e..1adf1eb19146dbd5e621ee7b7aadb28936c8a262 100644
--- a/aleksis/apps/paweljong/templates/paweljong/event/detail.html
+++ b/aleksis/apps/paweljong/templates/paweljong/event/detail.html
@@ -77,11 +77,16 @@
    </div>
   </div>
 
-  <h5>{% blocktrans %}Additional fields{% endblocktrans %}</h5>
-  {% render_table additional_fields_table %}
-
-  <h5>{% blocktrans %}Child groups{% endblocktrans%}</h5>
-  {% render_table child_groups_table %}
+  <div class="row">
+    <div class="col s3">
+      <h5>{% blocktrans %}Additional fields{% endblocktrans %}</h5>
+      {% render_table additional_fields_table %}
+    </div>
+    <div class="col s9">
+      <h5>{% blocktrans %}Child groups{% endblocktrans%}</h5>
+      {% render_table child_groups_table %}
+    </div>
+  </div>
 
   <h5>{% blocktrans %}Registrations{% endblocktrans %}</h5>
   {% render_table registrations_table %}
diff --git a/aleksis/apps/paweljong/templates/paweljong/event/persons_group.html b/aleksis/apps/paweljong/templates/paweljong/event/persons_group.html
new file mode 100644
index 0000000000000000000000000000000000000000..5819aa8382735771d5962359afed1bf94d7841c6
--- /dev/null
+++ b/aleksis/apps/paweljong/templates/paweljong/event/persons_group.html
@@ -0,0 +1,20 @@
+{% extends "core/base.html" %}
+{% load material_form i18n any_js %}
+
+{% block page_title %}{% blocktrans %}Add person to group{% endblocktrans %}{% endblock %}
+{% block browser_title %}{% blocktrans %}Add person to group{% endblocktrans %}{% endblock %}
+
+{% block extra_head %}
+    {{ form.media.css }}
+{% endblock %}
+
+{% block content %}
+
+  <form method="post">
+    {% csrf_token %}
+    {% form form=form %}{% form %}
+    {% include "core/partials/save_button.html" %}
+  </form>
+  {{ form.media.js }}
+
+{% endblock %}
diff --git a/aleksis/apps/paweljong/urls.py b/aleksis/apps/paweljong/urls.py
index 647f564fbd05b84904dd99f2e28cce1fef3f47ef..339c71deef0705be3ffe767c2881ee2ac7361f38 100644
--- a/aleksis/apps/paweljong/urls.py
+++ b/aleksis/apps/paweljong/urls.py
@@ -42,6 +42,11 @@ urlpatterns = [
         views.RegisterEventWizardView.as_view(register_forms, condition_dict=condition_dict),
         name="register_event_by_slug",
     ),
+    path(
+        "group_persons/<int:pk>/add",
+        views.PersonGroupView.as_view(),
+        name="add_persons_to_group",
+    ),
     path("event/<slug:slug>", views.EventFullView.as_view(), name="event_by_name"),
     path("event/<slug:slug>/detail", views.EventDetailView.as_view(), name="event_detail_by_name"),
     path(
diff --git a/aleksis/apps/paweljong/views.py b/aleksis/apps/paweljong/views.py
index 74abc60305afb9e4c168e4b0b6960bbf8b9f9ffe..5dae95721111d0cdbfc73b18f07f449b487547fc 100644
--- a/aleksis/apps/paweljong/views.py
+++ b/aleksis/apps/paweljong/views.py
@@ -24,8 +24,7 @@ from templated_email import send_templated_mail
 
 from aleksis.apps.postbuero.models import MailAddress
 from aleksis.core.mixins import AdvancedCreateView, AdvancedDeleteView, AdvancedEditView
-from aleksis.core.models import Activity, Person
-from aleksis.core.tables import AdditionalFieldsTable, GroupsTable
+from aleksis.core.models import Activity, Group, Person
 from aleksis.core.util import messages
 from aleksis.core.util.core_helpers import get_site_preferences, objectgetter_optional
 
@@ -37,11 +36,14 @@ from .forms import (
     EditTermForm,
     EditVoucherForm,
     GenerateListForm,
+    PersonGroupFormPerson,
     RegistrationNotificationForm,
     RegistrationStatesForm,
 )
 from .models import Event, EventRegistration, InfoMailing, RegistrationState, Terms, Voucher
 from .tables import (
+    AdditionalFieldsTable,
+    ChildGroupsTable,
     EventRegistrationsTable,
     InfoMailingsTable,
     ManageEventsTable,
@@ -903,7 +905,7 @@ class EventDetailView(PermissionRequiredMixin, DetailView):
 
         # Child groups table
         child_groups = self.object.linked_group.child_groups.all()
-        child_groups_table = GroupsTable(child_groups)
+        child_groups_table = ChildGroupsTable(child_groups)
         RequestConfig(self.request).configure(child_groups_table)
         context["child_groups_table"] = child_groups_table
 
@@ -914,3 +916,26 @@ class EventDetailView(PermissionRequiredMixin, DetailView):
         context["additional_fields_table"] = additional_fields_table
 
         return context
+
+
+class PersonGroupView(PermissionRequiredMixin, FormView):
+
+    template_name = "paweljong/event/persons_group.html"
+    permission_required = "paweljong.add_persons_to_group_rule"
+    form_class = PersonGroupFormPerson
+
+    def form_valid(self, form):
+
+        group = Group.objects.get(id=self.kwargs["pk"])
+
+        try:
+            person = Person.objects.get(user__username=form.cleaned_data["username"])
+            group.members.add(person)
+            messages.success(self.request, _(f"Person {person} added successfully!"))
+        except Person.DoesNotExist:
+            messages.error(self.request, _("Person does not exist!"))
+
+        return super().form_valid(self)
+
+    def get_success_url(self):
+        return reverse("add_persons_to_group", kwargs={"pk": self.kwargs["pk"]})