diff --git a/include/class.dynamic_forms.php b/include/class.dynamic_forms.php
index b01871b5681109d589180e25b573afe03b55dde4..0be50264d8b4326a43c3a5fb20944a622adc3d8d 100644
--- a/include/class.dynamic_forms.php
+++ b/include/class.dynamic_forms.php
@@ -916,6 +916,10 @@ class DynamicList extends VerySimpleModel {
         return $this->_form;
     }
 
+    function getForm() {
+        return $this->getConfigurationForm();
+    }
+
     function save($refetch=false) {
         if (count($this->dirty))
             $this->set('updated', new SqlFunction('NOW'));
diff --git a/include/staff/dynamic-list.inc.php b/include/staff/dynamic-list.inc.php
index 157dba28a8021f7cca5743f7a14c503cef03e22c..a064dc935142d5f05a2fbfd8473c101484c34e4e 100644
--- a/include/staff/dynamic-list.inc.php
+++ b/include/staff/dynamic-list.inc.php
@@ -220,7 +220,7 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
                 value="<?php echo $i->get('sort'); ?>"/></td>
             <td><input type="text" size="40" name="value-<?php echo $id; ?>"
                 value="<?php echo $i->get('value'); ?>"/>
-                <?php if ($form->getFields()) { ?>
+                <?php if ($form && $form->getFields()) { ?>
                 <a class="action-button" style="float:none;overflow:inherit"
                     href="#ajax.php/list/item/<?php
                         echo $i->get('id'); ?>/properties"
diff --git a/scp/lists.php b/scp/lists.php
index 66801deee614ad2d8ef82b8534be2eec2a4fa3f8..57ffad7a26374d13768da9e826a25f6252a5ec7a 100644
--- a/scp/lists.php
+++ b/scp/lists.php
@@ -6,9 +6,8 @@ $list=null;
 if($_REQUEST['id'] && !($list=DynamicList::lookup($_REQUEST['id'])))
     $errors['err']='Unknown or invalid dynamic list ID.';
 
-if ($list) {
-    $form = DynamicForm::lookup(array('type'=>'L'.$_REQUEST['id']));
-}
+if ($list)
+    $form = $list->getForm();
 
 if($_POST) {
     $fields = array('name', 'name_plural', 'sort_mode', 'notes');