diff --git a/contrib/scripts/dbsep.cgi b/contrib/scripts/dbsep.cgi
index dd060f7694bd62e2479a69c3a861747387bea323..8010b21c357a1c7c323b071a12ad3104fa615891 100755
--- a/contrib/scripts/dbsep.cgi
+++ b/contrib/scripts/dbsep.cgi
@@ -57,7 +57,9 @@ if ($mode eq 'single') {
 	$sth->execute() || throw_error("Invalid query: $sql");
 	$row = $sth->fetchrow_hashref();
 	foreach (keys %$row) {
-		push @answer, encode($_) . "=" . encode($row->{$_});
+		foreach my $item (split /\;/, $row->{$_}) {
+			push @answer, encode($_) . "=" . encode($item);
+		}
 	}
 	$sth->finish();
 	$dbh->disconnect();
@@ -74,7 +76,9 @@ if ($mode eq 'single') {
 	while (my $row = $sth->fetchrow_hashref()) {
 		@answer = ();
 		foreach (keys %$row) {
-			push @answer, encode($_) . "=" . encode($row->{$_});
+			foreach my $item (split /\;/, $row->{$_}) {
+				push @answer, encode($_) . "=" . encode($item);
+			}
 		}
 		print join("&", @answer) . "\n";
 	}