Falsely lit LED. with Nano.

In the process of programming a 4 tier, 16 column sculpture to light LED's. Everything is fine until
I reach the areas marked PROBLEM, The LED"s associated with digital pins D2 and D9 light at the same time and D9 remains lit. D9 goes off as programmed thru the rest off the setup and we checked for shorts between leads. Also tried another Nano with same result. Can only assume a programming error.
Any assistance appreciated.

/*

Connection Setup

PIN      COLUMN
D2======C1
D3======C2
D4======C3
D5======C4
D6======C5
D7======C6
D8======C7
D9======C8
D10======C9
D11======C10
D12======C11
D13======C12
D0=====C13
D1=====C14
A4=====C15
A5=====C16
A6 analog in only
A7 "    "     "
GRD====Center col.

4 LEVELS
tier(t)= connect to the LED anode.
1=A0
2=A1
3=A2
4=A3
*/

                                             
int column[18]={2,3,4,5,6,7,8,9,10,11,12,13,0,1,A4,A5};   // Declaring LED column pin assignment Bottom to top
int tier[4]={A0,A1,A2,A3};      // Declaring LED tier pin assignment. Bottom to top.
int ledTimeOn1=15;
int ledTimeOff1=15;
int ledTimeOn2=150;
int ledTimeOff2=150;
int ledTimeOn3=1500;
int ledTimeOff3=1500;
int ledTimeOn4=500;
int ledTimeOff4=500;

int tier4=4;   // turn this tier on or off.
int tier3=3;
int tier2=2;
int tier1=1;
int allTiers=4;      // turn all tiers on or off by scrolling per assignment (A0-A3).
int allColumns=16;   //turn all columns on or off by srolling per assignment (D0-D13, A4-A5).


void setup() {
//setting columns to output.
   for(int c=0; c<allColumns; c++)
   {  
   pinMode(column[c], OUTPUT);
   }
    //setting tiers to output
  for(int t = 0; t<4; t++)
   {
   pinMode(tier[t] , OUTPUT);     
   }
}
void loop()
{ 
 for(int c=0; c<allColumns; c++)  //Turns all the columns "on" (low).
    { 
      digitalWrite(column[c], 0); 
    } 
     
 for(int t=0; t<allTiers; t++)    // Turns the tiers on from bottom to top
    {
      digitalWrite(tier[t], 1);
      delay(ledTimeOn4);
    }  
     
 for(int t=0; t<allTiers; t++)    // Turns the tiers on then off from bottom to top
    {                                       // I know, it doesn' look like it.
      digitalWrite(tier[t], 1);
      delay(ledTimeOn3);
      digitalWrite(tier[t], 0);
      delay(ledTimeOff2);
    } 
       
 for(int t=0; t<allTiers; t++)    //Turns the tiers on then off from bottom to top
      {                           // fast enough to appear to be blinking.
      digitalWrite(tier[t], 1);
      delay(ledTimeOn2);
      digitalWrite(tier[t], 0);
      delay(ledTimeOff2);  
     } 
  for(int t=0; t<allTiers; t++)  //SAME
      {
      digitalWrite(tier[t], 1);
      delay(ledTimeOn2);
      digitalWrite(tier[t], 0);
      delay(ledTimeOff2);  
     } 
  for(int t=0; t<allTiers; t++)   //SAME.
      {
      digitalWrite(tier[t], 1);
      delay(ledTimeOn2);
      digitalWrite(tier[t], 0);
      delay(ledTimeOff2);  
     } 

   for(int c=0; c<allColumns; c++)  //Turns all the columns "off" (high).
    { 
      digitalWrite(column[c], 1); 
       delay(ledTimeOff2);
    }     

  for(int t=0; t<1; t++)  // Turns tier 1 on.
      {
      digitalWrite(tier[t], 1);
      }
   for(int c=0; c<7; c++) // Scrolls thru the columns assigned to tier one turning them "on" (low)
      {
      digitalWrite(column[c], 0); //PROBLEM!! BOTH the LED's, COL 0 (pinD2) AND COL 8 (pin D9)LIGHT
      delay(ledTimeOn3);
      }           

  for(int c=0; c<7; c++)  // Scrolls thru the columns turning them "off" (high) 
    { 
      digitalWrite(column[c], 1); // PROBLEM!! col 8 (pin D9) LED STAYS LIT
      delay(ledTimeOff3);
    }  

   for(int t=1; t<2; t++)  // Turns tier 2 on.
      {
      digitalWrite(tier[t], 1);
      }
   for(int c=8; c<15; c++) //  Scrolls thru the columns assigned to tier two turning them "on" (low)
      {
      digitalWrite(column[c], 0);
      delay(ledTimeOn3);
      }           

  for(int c=8; c<15; c++)  // Scrolls thru the columns turning them "off" (high)
    { 
      digitalWrite(column[c], 1); 
      delay(ledTimeOff3);
    }         
}