diff --git a/vrt2tei.pl b/vrt2tei.pl
index 3add1e7..86abb6f 100755
--- a/vrt2tei.pl
+++ b/vrt2tei.pl
@@ -243,23 +243,32 @@
 
     # (ToDo: the following hashes could probably conflated into an array of hashes or so)
 
-    # set full titles ($flarray[4]) as keys:
-    $corpusids{$flarray[4]}     = $flarray[2];
-    $srcpublids{$flarray[4]}    = $flarray[3];
-    $srcfullnames{$flarray[4]}  = $flarray[4];
-    $srcpubplaces{$flarray[4]}  = $flarray[9];
-    $srcpublishers{$flarray[4]} = $flarray[10];
-    $srctexttypes{$flarray[4]}  = $flarray[7];
-    $srctextlangs{$flarray[4]}  = $flarray[8];
+    # set full titles ($flarray[3]) as keys:
+    $corpusids{$flarray[3]}     = $flarray[1];
+    $srcpublids{$flarray[3]}    = $flarray[2];
+    $srcfullnames{$flarray[3]}  = $flarray[3];
+    $srcpubplaces{$flarray[3]}  = $flarray[8];
+    $srcpublishers{$flarray[3]} = $flarray[9];
+    $srctexttypes{$flarray[3]}  = $flarray[6];
+    $srctextlangs{$flarray[3]}  = $flarray[7];
 
     # also set simple titles ($flarray[5]) as keys: 
-    $corpusids{$flarray[5]}     = $flarray[2];
-    $srcpublids{$flarray[5]}    = $flarray[3];    
-    $srcfullnames{$flarray[5]}  = $flarray[4];
-    $srcpubplaces{$flarray[5]}  = $flarray[9];
-    $srcpublishers{$flarray[5]} = $flarray[10];
-    $srctexttypes{$flarray[5]}  = $flarray[7];
-    $srctextlangs{$flarray[5]}  = $flarray[8];
+    $corpusids{$flarray[4]}     = $flarray[1];
+    $srcpublids{$flarray[4]}    = $flarray[2];    
+    $srcfullnames{$flarray[4]}  = $flarray[3];
+    $srcpubplaces{$flarray[4]}  = $flarray[8];
+    $srcpublishers{$flarray[4]} = $flarray[9];
+    $srctexttypes{$flarray[4]}  = $flarray[6];
+    $srctextlangs{$flarray[4]}  = $flarray[7];
+
+    # also set publids ($flarray[2]) as keys: 
+    $corpusids{$flarray[2]}     = $flarray[1];
+    $srcpublids{$flarray[2]}    = $flarray[2];    
+    $srcfullnames{$flarray[2]}  = $flarray[3];
+    $srcpubplaces{$flarray[2]}  = $flarray[8];
+    $srcpublishers{$flarray[2]} = $flarray[9];
+    $srctexttypes{$flarray[2]}  = $flarray[6];
+    $srctextlangs{$flarray[2]}  = $flarray[7];
 }
 close($SOURCES);
 
@@ -591,7 +600,7 @@
     # USE 17 page_id="p1"
     # USE 18 page_no="None"
     #     19 part_name="_"
-    #     20 publ_id="0039-5552"
+    # USE 20 publ_id="0039-5552"
     #     21 publ_part=""
     # USE 22 publ_title="Suomen Kuvalehti" 
     # USE 23 publ_type="aikakausi"
@@ -616,6 +625,7 @@
     my $PAGEID       = $textattsref->{'page_id'};
     my $PAGENO       = $textattsref->{'page_no'};
     my $PUBLTITLE    = $textattsref->{'publ_title'};
+    my $PUBLID       = $textattsref->{'publ_id'};
     my $PUBLTYPE     = $textattsref->{'publ_type'};
     my $SENTCOUNT    = $textattsref->{'sentcount'};
     my $SUMLANG      = $textattsref->{'sum_lang'};
@@ -733,9 +743,9 @@
     $monogr->get_xpath('./imprint/' . $date . '[@type="year"]',   0)         ->set_text($datearray[0]);
     $monogr->get_xpath('./imprint/' . $date . '[@type="month"]',  0)         ->set_text($datearray[1]);
     $monogr->get_xpath('./imprint/' . $date . '[@type="day"]',    0)         ->set_text($datearray[2]);    
-    $monogr->first_child("imprint")->first_child("pubPlace")        ->set_text($srcpubplaces{$PUBLTITLE});  # imprint is needed for tei validity
+    $monogr->first_child("imprint")->first_child("pubPlace")        ->set_text($srcpubplaces{$PUBLID});  # imprint is needed for tei validity
     $monogr->first_child("imprint")->first_child("pubPlace")        ->set_att('key', $CountryKey);
-    $monogr->first_child("imprint")->first_child("publisher")       ->set_text($srcpublishers{$PUBLTITLE}); # imprint is needed for tei validity
+    $monogr->first_child("imprint")->first_child("publisher")       ->set_text($srcpublishers{$PUBLID}); # imprint is needed for tei validity
     #$monogr->get_xpath('./biblScope[@unit="ISSUETITLE"]', 0)        ->set_text($ISSUETITLE);
     #$monogr->get_xpath('./biblScope[@unit="ISSUENO"]', 0)           ->set_text($ISSUENO);
     #$monogr->get_xpath('./biblScope[@unit="ISSUEDATE"]', 0)         ->set_text($ISSUEDATE);
@@ -940,14 +950,15 @@
 sub set_sourceDescI5{
     my ($corpusHeader) = @_;
 
+    my $PUBLID    = $srcpublids{$fnsource};
     my $PUBLTITLE = $srcfullnames{$fnsource};
-    my $PUBLPLACE = $srcpubplaces{$PUBLTITLE};
-    my $PUBLISHER = $srcpublishers{$PUBLTITLE};
+    my $PUBLPLACE = $srcpubplaces{$PUBLID};
+    my $PUBLISHER = $srcpublishers{$PUBLID};
     
     my $YEAR  = $fnyear;
     my $YY    = substr($fnyear, 2, 2);
 
-    my $CSIGLE    = $corpusids{$PUBLTITLE} . $YY;
+    my $CSIGLE    = $corpusids{$PUBLID} . $YY;
 
     
     #<idsHeader>
@@ -985,13 +996,15 @@
     my ($textattsref) = @_;
     my $DATE      = $textattsref->{'date'};
     my $PUBLTITLE = $textattsref->{'publ_title'};
+    my $PUBLID    = $textattsref->{'publ_id'};
+
     
     my @datearray = split("-", $DATE);
     my $MONTH = $datearray[1];
     my $YEAR  = $datearray[0];
     my $YY    = substr($YEAR, 2, 2);
     
-    my $CSIGLE    = $corpusids{$PUBLTITLE} . $YY;
+    my $CSIGLE    = $corpusids{$PUBLID} . $YY;
 
     my $DOCID =     $months{$MONTH};
     my $MONTHNAME = $monthnames{$MONTH};
