diff --git a/Koha/Config.pm b/Koha/Config.pm
index eb0671dc2e..f3308c76a7 100644
--- a/Koha/Config.pm
+++ b/Koha/Config.pm
@@ -239,7 +239,7 @@ sub _read_from_dom_node {
delete $subconfig->{id};
} else {
my @keys = keys %$subconfig;
- if (1 == scalar @keys && $keys[0] eq 'content') {
+ if (!$node->hasAttributes() && 1 == scalar @keys && $keys[0] eq 'content') {
# An element with no attributes and no child elements becomes its text content
$subconfig = $subconfig->{content};
} elsif (0 == scalar @keys) {
diff --git a/t/Koha/Config.t b/t/Koha/Config.t
index 1bc54dbe94..3f933212c8 100755
--- a/t/Koha/Config.t
+++ b/t/Koha/Config.t
@@ -131,6 +131,15 @@ subtest 'read_from_file() tests' => sub {
}
},
'useshibboleth' => '0',
+ 'shibboleth' => {
+ 'autocreate' => '1',
+ 'matchpoint' => 'userid',
+ 'mapping' => {
+ 'userid' => { 'is' => 'uid' },
+ 'branchcode' => { 'content' => 'MAIN', 'is' => 'MAIN' },
+ 'categorycode' => { 'content' => 'STAFF' },
+ },
+ },
'zebra_lockdir' => '/home/koha/var/lock/zebradb',
'lockdir' => '__LOCK_DIR__',
'use_zebra_facets' => '1',
diff --git a/t/data/koha-conf.xml b/t/data/koha-conf.xml
index a2b66fb49f..1accab3c20 100644
--- a/t/data/koha-conf.xml
+++ b/t/data/koha-conf.xml
@@ -111,6 +111,15 @@
0
+
+ 1
+ userid
+
+
+
+
+
+
/home/koha/var/lock/zebradb
__LOCK_DIR__
1