diff --git a/erpnext/public/js/education/academy/components/AcademyCourseCard.vue b/erpnext/public/js/education/academy/components/AcademyCourseCard.vue
index 16ffc55..e33f0b0 100644
--- a/erpnext/public/js/education/academy/components/AcademyCourseCard.vue
+++ b/erpnext/public/js/education/academy/components/AcademyCourseCard.vue
@@ -53,9 +53,12 @@
             else if (this.courseMeta.flag == "Complete" ) {
                 return "success"
             }
-            else {
+            else if (this.courseMeta.flag == "Continue" ) {
                 return "info"
             }
+            else {
+                return " hidden"
+            }
         }
     }
 };
diff --git a/erpnext/www/academy.py b/erpnext/www/academy.py
index 48cbbc4..294c41f 100644
--- a/erpnext/www/academy.py
+++ b/erpnext/www/academy.py
@@ -84,8 +84,8 @@
 
 @frappe.whitelist()
 def get_continue_content(course_name):
-	if(frappe.session.user == "Guest"):
-		return None
+	if frappe.session.user == "Guest":
+		return dict(content=None, content_type=None, flag=None)
 	enrollment = get_enrollment(course_name)
 	course = frappe.get_doc("Course", enrollment.course)
 	last_activity = enrollment.get_last_activity()
@@ -126,6 +126,8 @@
 
 @frappe.whitelist()
 def get_next_content(content, content_type, course):
+	if frappe.session.user == "Guest":
+		return None
 	course_doc = frappe.get_doc("Course", course)
 	content_list = [{'content_type':item.content_type, 'content':item.content} for item in course_doc.get_all_children()]
 	current_index = content_list.index({'content': content, 'content_type': content_type})
