diff --git a/pom.xml b/pom.xml
index 99b11afc..a3ce4601 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,7 +18,7 @@
   jar
 
   
-    1.4.0-SNAPSHOT
+    1.4.1-SNAPSHOT
     ${sebserver-version}
     ${sebserver-version}
     UTF-8
diff --git a/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/LmsAPITemplateAdapter.java b/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/LmsAPITemplateAdapter.java
index 71f79253..9a647c34 100644
--- a/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/LmsAPITemplateAdapter.java
+++ b/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/LmsAPITemplateAdapter.java
@@ -202,7 +202,7 @@ public class LmsAPITemplateAdapter implements LmsAPITemplate {
                         throw new RuntimeException("No course API Access: " + testCourseAccessAPI);
                     }
                     return testCourseAccessAPI;
-                });
+                }).getOrThrow();
     }
 
     @Override
diff --git a/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/mockup/MockCourseAccessAPI.java b/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/mockup/MockCourseAccessAPI.java
index a92c65a7..37e32ff0 100644
--- a/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/mockup/MockCourseAccessAPI.java
+++ b/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/mockup/MockCourseAccessAPI.java
@@ -92,25 +92,25 @@ public class MockCourseAccessAPI implements CourseAccessAPI {
                 null,
                 "http://lms.mockup.com/api/"));
 
-        if (webserviceInfo.hasProfile("dev")) {
-            for (int i = 12; i < 50; i++) {
-                this.mockups.add(new QuizData(
-                        "quiz10" + i, institutionId, lmsSetupId, lmsType, "Demo Quiz 10 " + i + " (MOCKUP)",
-                        i + "_Starts in a minute and ends after five minutes",
-                        DateTime.now(DateTimeZone.UTC).plus(Constants.MINUTE_IN_MILLIS)
-                                .toString(Constants.DEFAULT_DATE_TIME_FORMAT),
-                        DateTime.now(DateTimeZone.UTC).plus(6 * Constants.MINUTE_IN_MILLIS)
-                                .toString(Constants.DEFAULT_DATE_TIME_FORMAT),
-                        "http://lms.mockup.com/api/"));
-                this.mockups.add(new QuizData(
-                        "quiz11" + i, institutionId, lmsSetupId, lmsType, "Demo Quiz 11 " + i + " (MOCKUP)",
-                        i + "_Starts in a minute and ends never",
-                        DateTime.now(DateTimeZone.UTC).plus(Constants.MINUTE_IN_MILLIS)
-                                .toString(Constants.DEFAULT_DATE_TIME_FORMAT),
-                        null,
-                        "http://lms.mockup.com/api/"));
-            }
-        }
+//        if (webserviceInfo.hasProfile("dev")) {
+//            for (int i = 12; i < 50; i++) {
+//                this.mockups.add(new QuizData(
+//                        "quiz10" + i, institutionId, lmsSetupId, lmsType, "Demo Quiz 10 " + i + " (MOCKUP)",
+//                        i + "_Starts in a minute and ends after five minutes",
+//                        DateTime.now(DateTimeZone.UTC).plus(Constants.MINUTE_IN_MILLIS)
+//                                .toString(Constants.DEFAULT_DATE_TIME_FORMAT),
+//                        DateTime.now(DateTimeZone.UTC).plus(6 * Constants.MINUTE_IN_MILLIS)
+//                                .toString(Constants.DEFAULT_DATE_TIME_FORMAT),
+//                        "http://lms.mockup.com/api/"));
+//                this.mockups.add(new QuizData(
+//                        "quiz11" + i, institutionId, lmsSetupId, lmsType, "Demo Quiz 11 " + i + " (MOCKUP)",
+//                        i + "_Starts in a minute and ends never",
+//                        DateTime.now(DateTimeZone.UTC).plus(Constants.MINUTE_IN_MILLIS)
+//                                .toString(Constants.DEFAULT_DATE_TIME_FORMAT),
+//                        null,
+//                        "http://lms.mockup.com/api/"));
+//            }
+//        }
     }
 
     @Override
diff --git a/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/moodle/legacy/MoodleRestTemplateFactory.java b/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/moodle/legacy/MoodleRestTemplateFactory.java
index 5de31e82..f3b803ae 100644
--- a/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/moodle/legacy/MoodleRestTemplateFactory.java
+++ b/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/lms/impl/moodle/legacy/MoodleRestTemplateFactory.java
@@ -137,7 +137,7 @@ public class MoodleRestTemplateFactory {
                         log.warn("Failed to get access token for LMS: {}({})",
                                 lmsSetup.name,
                                 lmsSetup.id,
-                                result.getError());
+                                result.getError().getMessage());
                     }
                     return result;
                 })
diff --git a/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/ExamUpdateHandler.java b/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/ExamUpdateHandler.java
index a3dd4a3c..d911846c 100644
--- a/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/ExamUpdateHandler.java
+++ b/src/main/java/ch/ethz/seb/sebserver/webservice/servicelayer/session/impl/ExamUpdateHandler.java
@@ -88,6 +88,31 @@ class ExamUpdateHandler {
             final Set failedOrMissing = new HashSet<>(exams.keySet());
             final String updateId = this.createUpdateId();
 
+            // test overall LMS access
+            try {
+                this.lmsAPIService
+                        .getLmsAPITemplate(lmsSetupId)
+                        .getOrThrow()
+                        .checkCourseAPIAccess();
+            } catch (final Exception e) {
+                log.warn("No LMS access, mark all exams of the LMS as not connected to LMS");
+                if (!failedOrMissing.isEmpty()) {
+                    failedOrMissing
+                            .stream()
+                            .forEach(quizId -> {
+                                try {
+                                    final Exam exam = exams.get(quizId);
+                                    if (exam.lmsAvailable == null || exam.isLmsAvailable()) {
+                                        this.examDAO.markLMSAvailability(quizId, false, updateId);
+                                    }
+                                } catch (final Exception ee) {
+                                    log.error("Failed to mark exam: {} as not connected to LMS", quizId, ee);
+                                }
+                            });
+                }
+                return failedOrMissing;
+            }
+
             this.lmsAPIService
                     .getLmsAPITemplate(lmsSetupId)
                     .map(template -> {