diff --git a/lib/vips_common.inc.php b/lib/vips_common.inc.php
index 8703ed0d412f1341b7ade82e12699a4c87ae51cf..902b2f09831dabd0fe1a7bb928bb57daea5f17d8 100644
--- a/lib/vips_common.inc.php
+++ b/lib/vips_common.inc.php
@@ -188,13 +188,17 @@ function normalizeFloat($string, &$unit)
 function get_student_id($user)
 {
     $datafield_id = Config::get()->VIPS_STUDENT_ID_DATAFIELD;
-    $entries = [];
 
     if ($datafield_id) {
         $entries = DatafieldEntryModel::findByModel($user, $datafield_id);
+        return $entries ? $entries[0]->content : null;
     }
 
-    return $entries ? $entries[0]->content : null;
+    if (isset($user->matriculation_number)) {
+        return $user->matriculation_number;
+    }
+
+    return null;
 }
 
 /**
diff --git a/views/config/index.php b/views/config/index.php
index 7dcb73a250a20cc61e3f50edd24431ff3c7f9159..af76a7318628a444e3d0cfa09fa29331d6db36b6 100644
--- a/views/config/index.php
+++ b/views/config/index.php
@@ -11,7 +11,11 @@
             <?= _vips('Datenfeld für die Matrikelnummer') ?>
 
             <select name="datafield">
-                <option value=""></option>
+                <option value="">
+                    <? if (version_compare($GLOBALS['SOFTWARE_VERSION'], '5.5', '>=')): ?>
+                        <?= _vips('Matrikelnummer') ?> (Stud.IP)
+                    <? endif ?>
+                </option>
                 <? foreach ($fields as $field): ?>
                     <option value="<?= $field->id ?>" <?= $config->VIPS_STUDENT_ID_DATAFIELD == $field->id ? 'selected' : '' ?>>
                         <?= htmlReady($field->name) ?>