diff --git a/src/memberdb/approve.py b/src/memberdb/approve.py
index 8a4e3271a5fe05bc5b4586a7bdf4b8a0bea52eac..55c232642498b01c9dca5bc1ee5b7637fa41c621 100644
--- a/src/memberdb/approve.py
+++ b/src/memberdb/approve.py
@@ -12,15 +12,6 @@ from memberdb.models import Member, Membership, get_membership_type
 from memberdb.forms import MyModelForm
 from memberdb.views import MyUpdateView
 
-def make_pending_membership(member):
-    # check if this member already has a pending membership
-    ms = Membership.objects.filter(member=member, approved__exact=False).first()
-    if (ms is None):
-        ms = Membership(member=member, approved=False)
-    ms.date_submitted = timezone.now()
-    ms.membership_type = get_membership_type(member)
-    return ms
-
 """
 inline admin change list action buttons
 see https://medium.com/@hakibenita/how-to-add-custom-action-buttons-to-django-admin-8d266f5b0d41
diff --git a/src/memberdb/models.py b/src/memberdb/models.py
index d200ad930a9b0174c3a911e06a79e61033978eaa..622049c3cad0e02566b7bc1f2239b68b681805e5 100644
--- a/src/memberdb/models.py
+++ b/src/memberdb/models.py
@@ -3,6 +3,7 @@ from django.db.models import F
 from django.core.validators import RegexValidator
 from django.core.management.utils import get_random_string
 from django.urls import reverse
+from django.utils import timezone
 
 from squarepay.dispense import get_item_price
 import subprocess
@@ -98,6 +99,14 @@ def get_membership_type(member):
 			break
 	return best
 
+def make_pending_membership(member):
+    # check if this member already has a pending membership
+    ms = Membership.objects.filter(member=member, approved__exact=False).first()
+    if (ms is None):
+        ms = Membership(member=member, approved=False)
+    ms.date_submitted = timezone.now()
+    ms.membership_type = get_membership_type(member)
+    return ms
 
 def make_token():
 	return get_random_string(128)
diff --git a/src/memberdb/register.py b/src/memberdb/register.py
index dbaa8d6bf5e3ba1ee6168223d6df7e4be94ae748..18cac9beab5597c475ffb9b331767f70a2341eb9 100644
--- a/src/memberdb/register.py
+++ b/src/memberdb/register.py
@@ -13,10 +13,9 @@ from django import forms
 from squarepay.models import MembershipPayment
 from squarepay.dispense import get_item_price
 
-from .models import Member, Membership, get_membership_choices, MEMBERSHIP_TYPES
+from .models import Member, Membership, get_membership_choices, make_pending_membership, MEMBERSHIP_TYPES
 from .forms import MyModelForm
 from .views import MyUpdateView
-from .approve import make_pending_membership
 
 """
 First step: enter an email address and some details (to fill at least a Member model) to create a pending membership.