diff --git a/erpnext/public/js/education/lms/lms.js b/erpnext/public/js/education/lms/lms.js
index 9ed5cd7..4665b14 100644
--- a/erpnext/public/js/education/lms/lms.js
+++ b/erpnext/public/js/education/lms/lms.js
@@ -35,7 +35,7 @@
 				if(this.checkLogin()) {
 					lms.call("get_all_course_enrollments").then(data => {
 						this.enrolledCourses = data;
-					})
+					});
 				}
 			},
 			checkLogin() {
@@ -50,18 +50,18 @@
 				if(this.checkLogin()){
 					if(this.enrolledPrograms) {
 						if(this.enrolledPrograms.includes(programName)) {
-							return true
+							return true;
 						}
 						else {
-							return false
+							return false;
 						}
 					}
 					else {
-						return false
+						return false;
 					}
 				}
 				else {
-					return false
+					return false;
 				}
 			}
 		}
@@ -72,11 +72,10 @@
 		template: "<lms-root/>",
 		components: { lmsRoot },
 		mounted() {
-			lms.store.updateState()
+			lms.store.updateState();
 		}
 	});
 	lms.view.$router.afterEach((to, from) => {
-		window.scrollTo(0,0)
+		window.scrollTo(0,0);
 	});
-	lms.debug = true
 });
\ No newline at end of file
diff --git a/erpnext/public/js/education/lms/routes.js b/erpnext/public/js/education/lms/routes.js
index 3bf0e16..483f222 100644
--- a/erpnext/public/js/education/lms/routes.js
+++ b/erpnext/public/js/education/lms/routes.js
@@ -29,14 +29,14 @@
 	props: true,
 	beforeRouteUpdate (to, from, next) {
 		if (lms.store.checkProgramEnrollment(to.params.program_name)) {
-			next()
+			next();
 		} else {
 			next({
 				name: 'program',
 				params: {
 					program_name: to.params.program_name
 				}
-			})
+			});
 		}
 	}
 },
