diff --git a/src/rebar/group.py b/src/rebar/group.py
index <HASH>..<HASH> 100644
--- a/src/rebar/group.py
+++ b/src/rebar/group.py
@@ -214,6 +214,8 @@ class FormGroup(object):
             if isinstance(form, BaseFormSet):
                 form.save(commit=True)
 
+        return self.instance
+
     @property
     def media(self):
 
diff --git a/src/rebar/tests/test_groups.py b/src/rebar/tests/test_groups.py
index <HASH>..<HASH> 100644
--- a/src/rebar/tests/test_groups.py
+++ b/src/rebar/tests/test_groups.py
@@ -581,6 +581,22 @@ class FormGroupSaveTests(TestCase):
 
         self.assertTrue(formgroup.name.called['save_related'])
 
+    def test_save_returns_instance(self):
+
+        model_instance = FakeModel()
+
+        form_data = {
+            'group-name-first_name': 'John',
+            'group-name-last_name': 'Doe',
+            'group-email-email': 'john.doe@example.com',
+        }
+        form_group = ContactFormGroup(
+            data=form_data,
+            instance=model_instance,
+        )
+
+        self.assertEqual(form_group.save(), model_instance)
+
 
 ContactFormGroup = formgroup_factory(
     (
Calling save() on a FormGroup returns the instance.