         uint8_t x, y;
         untztrument.i2xy(i, &x, &y);
         mask = 1 << y;
+        if(untztrument.justReleased(i) && (layer == LAYERS-1)) 
+        {
+              if (x != 7)
+              {
+           uint8_t temp = channels[layer][playing_grid_set];
+          usbMIDI.sendNoteOff(pgm_read_byte(&scales[scale_notes[layer][playing_grid_set]][8-x + y*7] ) , 127, temp);
+          untztrument.clrLED(i);
+ 
+              refresh = true;
+              }
+        }
+
         if(untztrument.justPressed(i)) 
         { 
           switch (mode)

          case PLAYING_ERASE_MEASURE_2:
            // fall through
          case PLAYING:
            {
              uint8_t * temp = &grid[x + display_offset][layer][visible_grid_set];
              if(*temp & mask) // Already set?  Turn off...

                *temp |= mask;
                untztrument.setLED(i);
              }
            }
            else
            {
              if (x != 7)
              {
              uint8_t temp = channels[layer][playing_grid_set];
              usbMIDI.sendNoteOn(pgm_read_byte(&scales[scale_notes[layer][playing_grid_set]][8-x + y*7] ) , 127, temp);
              untztrument.setLED(i);
              }
              else
              {
               visible_grid_set = y;
               untztrument.setLED(i);
              }
            }
              refresh = true;
            break;

          case WAIT_FOR_PROGRAM_CHANGE:
            {
