diff --git a/wire/modules/Process/ProcessPageLister/ProcessPageLister.module b/wire/modules/Process/ProcessPageLister/ProcessPageLister.module
index c1b001f0..751877b5 100644
--- a/wire/modules/Process/ProcessPageLister/ProcessPageLister.module
+++ b/wire/modules/Process/ProcessPageLister/ProcessPageLister.module
@@ -1235,6 +1235,7 @@ class ProcessPageLister extends Process implements ConfigurableModule {
*
*/
protected function isSortableCol(Field $field, $subfield = '') {
+ if(!$this->isSortableField($field)) return false;
if($subfield === 'data' || empty($subfield) || $subfield === 'count') return true;
if($subfield === 'keys' || $subfield === 'xtra') return false;
$fieldtype = $field->type;
@@ -1242,6 +1243,21 @@ class ProcessPageLister extends Process implements ConfigurableModule {
return isset($schema[$subfield]);
}
+ /**
+ * Is field sortable?
+ *
+ * @param Field $field
+ * @return bool
+ * @since 3.0.199
+ *
+ */
+ protected function isSortableField(Field $field) {
+ $table = $field->getTable();
+ if(empty($table)) return false;
+ if(!$this->wire()->database->tableExists($field->getTable())) return false;
+ return true;
+ }
+
/**
* Build the Lister table containing results
*
@@ -1333,6 +1349,9 @@ class ProcessPageLister extends Process implements ConfigurableModule {
if($field && !$this->isSortableCol($field, $subname)) {
$thClass = 'not_sortable';
}
+ } else if($field && !$this->isSortableField($field)) {
+ $sortKey = "$name";
+ $thClass = 'not_sortable';
} else {
$sortKey = "$name";
}