diff --git a/hypha/apply/funds/models/applications.py b/hypha/apply/funds/models/applications.py
index c63fdf8b0f9163ba269203c200feafeee859c7a5..41195ab058ff3fdef2f9cc1f3f603ed42b598c6e 100644
--- a/hypha/apply/funds/models/applications.py
+++ b/hypha/apply/funds/models/applications.py
@@ -433,6 +433,14 @@ class LabBase(EmailForm, WorkflowStreamForm, SubmittableStreamForm):  # type: ig
     def open_round(self):
         return self.live
 
+    def get_form(self, *args, **kwargs):
+        user = kwargs.get('user')
+        form_class = self.get_form_class(user=user)
+        form_params = self.get_form_parameters()
+        form_params.update(kwargs)
+
+        return form_class(*args, **form_params)
+
     def serve(self, request, *args, **kwargs):
         if request.method == 'POST':
             form = self.get_form(request.POST, request.FILES, page=self, user=request.user)
diff --git a/hypha/apply/funds/tests/test_models.py b/hypha/apply/funds/tests/test_models.py
index e5cf1a3527ae66bdcf76cce4d97d125233c91897..65435aa448ed2d9eadc18164484313dd10e4a016 100644
--- a/hypha/apply/funds/tests/test_models.py
+++ b/hypha/apply/funds/tests/test_models.py
@@ -316,19 +316,24 @@ class TestFormSubmission(TestCase):
         self.assertEqual(ApplicationSubmission.objects.first().user, user)
 
     # This will need to be updated when we hide user information contextually
-    def test_errors_if_blank_user_data_even_if_logged_in(self):
+    def test_can_submit_if_blank_user_data_even_if_logged_in(self):
         user, _ = self.User.objects.get_or_create(email=self.email, defaults={'full_name': self.name})
 
         # Lead + applicant
         self.assertEqual(self.User.objects.count(), 2)
 
         response = self.submit_form(email='', name='', user=user, ignore_errors=True)
-        self.assertContains(response, 'This field is required')
+        self.assertEqual(response.status_code, 200)
 
         # Lead + applicant
         self.assertEqual(self.User.objects.count(), 2)
 
-        self.assertEqual(ApplicationSubmission.objects.count(), 0)
+        self.assertEqual(ApplicationSubmission.objects.count(), 1)
+
+        submission = ApplicationSubmission.objects.first()
+        self.assertEqual(submission.user, user)
+        self.assertEqual(submission.user.full_name, self.name)
+        self.assertEqual(submission.user.email, self.email)
 
     def test_valid_email(self):
         email = 'not_a_valid_email@'