The pull-down resistors didn't make any difference, the LED keeps in the 'error' flash routine. I didn't have and 5K, so i used a 2k2, would this still perform the task? If not i have 47k?

However, i have inserted:

Code:
Main:
    MaskSwitch=PORTC & $07
        Select Case MaskSwitch
          Case 1 '%00000001 or SW1
            Gosub Procedure_SW1

          Case 2 '%00000010 or SW2
            Gosub Procedure_SW2

          Case 4 '%00000100 or SW3
            Gosub Procedure_SW3
          Case Else
            Goto Main
    End Select
Goto Main
Adding the Goto Main routine now seems to work.

Although this is a work around, its still strange that some other signal is being received into the PIC which i would like to find.

Cheers.