diff --git a/smash/web/models.py b/smash/web/models.py
index d877da37f5f0f78be65b5f25be7351fb2279df4e..c073baa1c5bec7793d95b2d318d8bd2128d89eb2 100644
--- a/smash/web/models.py
+++ b/smash/web/models.py
@@ -158,6 +158,18 @@ class Visit(models.Model):
     def __str__(self):
         return "%s %s" % (self.subject.first_name, self.subject.last_name)
 
+    def checkIfFinished(self):
+        appvis = self.appointment_set.all()
+        finished = True
+
+        for app in appvis:
+            if(app.is_finished == False):
+                finished = False
+
+        if (finished):
+            self.is_finished = True
+            self.save()
+
 
 class Item (models.Model):
     is_fixed = models.BooleanField(
diff --git a/smash/web/templates/visits/index.html b/smash/web/templates/visits/index.html
index e60d1d8c86224f58188d157f2378b531d1694d20..a851274e5008e73b03948cabd7cbf7eea5f2469c 100644
--- a/smash/web/templates/visits/index.html
+++ b/smash/web/templates/visits/index.html
@@ -62,8 +62,8 @@
 		        		{{ visit.get_visit_type_display }}
 		        	</td>
 		        	<td>
-                {% if visit.is_finished %}<button type="button" class="btn btn-block btn-danger">YES</button>
-                {% else %}<button type="button" class="btn btn-block btn-success">NO</button>
+                {% if visit.is_finished %}<button type="button" class="btn btn-block btn-success">YES</button>
+                {% else %}<button type="button" class="btn btn-block btn-danger">NO</button>
                 {% endif %}
 		        	</td>
 
diff --git a/smash/web/views.py b/smash/web/views.py
index 454d0f6104534ae1036223ae159d55c13f88d756..75661c9eaf1cf9697db0863d57f215f6e6c56a3b 100644
--- a/smash/web/views.py
+++ b/smash/web/views.py
@@ -304,6 +304,12 @@ def assignment_edit(request, id):
 		form = AppointmentEditForm(request.POST, request.FILES, instance=Appointment.objects.get(id=id))
 		if form.is_valid():
 			form.save()
+
+			data = form.cleaned_data
+			vis = data['visit']
+			visit = Visit.objects.get(id=vis.id)
+			visit.checkIfFinished()
+
 			return redirect(assignments)
 	else:
 		form = AppointmentEditForm(instance=Appointment.objects.get(id=id))