diff --git a/lib.php b/lib.php
index 322fd598823af5ec5d637c8731efff29a584b180..dd4228bdb8059616b03752796fe04706621da893 100644
--- a/lib.php
+++ b/lib.php
@@ -29,6 +29,12 @@ require_once($CFG->dirroot . '/mod/pdfannotator/locallib.php');
  * @return mixed True if module supports feature, false if not, null if doesn't know
  */
 function pdfannotator_supports($feature) {
+    if (defined('FEATURE_MOD_PURPOSE')) {
+        // Only defined in M4.0+.
+        if ($feature === FEATURE_MOD_PURPOSE) {
+            return MOD_PURPOSE_COMMUNICATION;
+        }
+    }
     switch($feature) {
         case FEATURE_GROUPS:
             return true;
@@ -54,8 +60,6 @@ function pdfannotator_supports($feature) {
             return true;
         case FEATURE_COMMENT:
             return true;
-        case FEATURE_MOD_PURPOSE:
-            return MOD_PURPOSE_COMMUNICATION;
         default:
             return null;
     }
diff --git a/version.php b/version.php
index ee31937a1667ff8dc9ede2d5bcf866a19b9e3355..ee284cb62d347d2f0209a0929b40e02e6e3b726f 100644
--- a/version.php
+++ b/version.php
@@ -25,7 +25,7 @@
 defined('MOODLE_INTERNAL') || die();
 
 $plugin->component = 'mod_pdfannotator';
-$plugin->version   = 2023033000;
+$plugin->version   = 2023040400;
 $plugin->release  = 'PDF Annotator v1.5 release 3';
 $plugin->requires  = 2021051700;
 $plugin->maturity  = MATURITY_STABLE;