diff --git a/erpnext/public/js/education/web-academy.js b/erpnext/public/js/education/web-academy.js
index e6b48ec..8088a50 100644
--- a/erpnext/public/js/education/web-academy.js
+++ b/erpnext/public/js/education/web-academy.js
@@ -48,8 +48,10 @@
 				email: frappe.session.user
 			}
 		}).then( r => {
-			for(var ii=0; ii < r.message.length; ii++){
-				this.enrolledPrograms.add(r.message[ii])
+			if(r.message){
+				for(var ii=0; ii < r.message.length; ii++){
+					this.enrolledPrograms.add(r.message[ii])
+				}
 			}
 		})
 		if (this.debug) console.log('Updated State', this.enrolledPrograms)
@@ -76,8 +78,10 @@
 				email: frappe.session.user
 			}
 		}).then( r => {
-			for(var ii=0; ii < r.message.length; ii++){
-				this.completedCourses.add(r.message[ii])
+			if(r.message){
+				for(var ii=0; ii < r.message.length; ii++){
+					this.completedCourses.add(r.message[ii])
+				}
 			}
 		})
 		if (this.debug) console.log('Updated State', this.completedCourses)
diff --git a/erpnext/public/js/education/web-academy/components/AcademyProgramCard.vue b/erpnext/public/js/education/web-academy/components/AcademyProgramCard.vue
index 6ddf152..605dec2 100644
--- a/erpnext/public/js/education/web-academy/components/AcademyProgramCard.vue
+++ b/erpnext/public/js/education/web-academy/components/AcademyProgramCard.vue
@@ -10,8 +10,7 @@
         </div>
         <div class='card-footer text-right'>
             <!-- <a class='video-btn btn btn-secondary btn-sm' data-toggle="modal" data-src=" insert jinja stuff here " data-target="#myModal">Watch Intro</a>&nbsp;&nbsp; -->
-            <a v-if="this.$root.$data.checkProgramEnrollment(program.name)" class='btn btn-secondary btn-sm' @click="$router.push('/Program/' + program.name)">Start Course</a>
-            <a v-else-if="this.$root.$data.isLogin" class='btn btn-secondary btn-sm' @click="enroll()">Enroll Now</a>
+            <a v-if="this.$root.$data.isLogin" class='btn btn-secondary btn-sm' @click="primaryAction()">{{ buttonName }}</a>
             <a v-else class='btn btn-secondary btn-sm' href="/login#signup">Sign Up</a>
         </div>
     </div>
@@ -37,6 +36,16 @@
     	})
     },
     methods: {
+        primaryAction(){
+            if(this.$root.$data.isLogin){
+                if(this.$root.$data.checkProgramEnrollment(program_code)){
+                    this.$router.push('/Program/' + program.name)
+                }
+                else {
+                    this.enroll()
+                }
+            }
+        }
         enroll() {
             frappe.call({
                 method: "erpnext.www.academy.enroll_in_program",
@@ -45,6 +54,20 @@
                     student_email_id: frappe.session.user
                 }
             })
+            this.$root.$data.enrolledPrograms.add(this.program_code)
+            this.$root.$data.updateEnrolledPrograms()
+        }
+    }
+    computed: {
+        buttonName() {
+            if(this.$root.$data.isLogin){
+                if(this.$root.$data.checkProgramEnrollment(program_code)){
+                    return "Start Course"
+                }
+                else {
+                    return "Enroll"
+                }
+            }
         }
     }
 };
