diff --git a/gms/memberdb/approve.py b/gms/memberdb/approve.py
index 494395acad3f822b085dc9448eda68b6de9704ab..e3c47d7871047c29d2c99e449544a3f957dc867d 100644
--- a/gms/memberdb/approve.py
+++ b/gms/memberdb/approve.py
@@ -28,7 +28,10 @@ def get_membership_type(member):
         return best['dispense']
 
 def make_pending_membership(member):
-    ms = Membership(member=member, approved=False)
+    # 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
@@ -41,7 +44,6 @@ and have a look at .admin.MembershipAdmin
 class MembershipApprovalForm(MyModelForm):
     payment_confirm = forms.BooleanField(label='Confirm payment', required=False)
 
-
     class Meta:
         model = Membership
         fields = ['membership_type', 'payment_method']
@@ -105,7 +107,6 @@ class MembershipApprovalAdminView(MyUpdateView):
     pk_url_kwarg = 'object_id'
     # override with the instance of ModelAdmin
     admin = None
-    object = None
 
     def get_context_data(self, **kwargs):
         ms = self.get_object()
@@ -119,7 +120,6 @@ class MembershipApprovalAdminView(MyUpdateView):
         })
         return context
 
-
     """
     called when the approval form is submitted and valid data (according to the form's field types and defined validators) is given
     """
diff --git a/gms/memberdb/register.py b/gms/memberdb/register.py
index a5e7e8485f8123e1eb5efab312de6c1b3fd0a4f8..add57372bac5d74bfffdb5349c8ea46ce178cf27 100644
--- a/gms/memberdb/register.py
+++ b/gms/memberdb/register.py
@@ -2,10 +2,9 @@
 This file implements the member-facing registration workflow. See ../../README.md
 """
 
-from django.http import HttpResponse, HttpResponseRedirect
+from django.http import HttpResponseRedirect
 from django.shortcuts import render
 from django.urls import reverse
-from django.views.generic.edit import CreateView, UpdateView
 from django.contrib.auth.mixins import LoginRequiredMixin
 from django.utils.safestring import mark_safe
 from django import forms
@@ -74,9 +73,6 @@ class RenewForm(RegisterForm):
             ms.save()
         return m, ms
 
-
-
-
 """
 simple FormView which displays registration form and handles template rendering & form submission
 """