diff --git a/src/loader/lrs.php b/src/loader/lrs.php
index 5eff8fd24ce5882697ff2c54e7afd2258644cf1e..b79516aec303d6d62210ded95f9bbca3da57bcd5 100644
--- a/src/loader/lrs.php
+++ b/src/loader/lrs.php
@@ -29,6 +29,10 @@ function load(array $config, array $events) {
         $auth = base64_encode($username.':'.$password);
         $postdata = json_encode($statements);
 
+        if ($postdata === false) {
+            throw new \Exception('JSON encode error: '.json_last_error_msg());
+        }
+
         $request = curl_init();
         curl_setopt($request, CURLOPT_URL, $url);
         curl_setopt($request, CURLOPT_POSTFIELDS, $postdata);
diff --git a/src/loader/moodle_curl_lrs.php b/src/loader/moodle_curl_lrs.php
index f559c9c64e30b7c7e5c87d35f6713aaecb7df37e..278f2ee275e518495fb68fa3b936d0e8c6bd3b4e 100644
--- a/src/loader/moodle_curl_lrs.php
+++ b/src/loader/moodle_curl_lrs.php
@@ -35,6 +35,10 @@ function load(array $config, array $events) {
         $auth = base64_encode($username.':'.$password);
         $postdata = json_encode($statements);
 
+        if ($postdata === false) {
+            throw new \Exception('JSON encode error: '.json_last_error_msg());
+        }
+
         $request = new \curl();
         $responsetext = $request->post($url, $postdata, [
             'CURLOPT_HTTPHEADER' => [