I am using a PIC 16F877A for a simple process controller. Within bank C I use the outputs (and a resitor) as the base in a NPN transistor, pulling a mechanical relay. I defined the pins as follows for relays 1-4:
Rel1 var PortC.0
Rel2 var PortC.1
...

When I run a simple code such as
HIGH Rel1
Pause 500
HIGH Rel2
Pause 500
HIGH Rel3 ...

The problem is that when Rel2 goes HIGH, Rel1 is automatically going low, same for Rel 2 & 3 and on through Rel 4. When the sequential pin goes output High, the predecessor automatically drops low.

Coded like this, the process works fine
PortC = %00000001
Pause 500
PortC = %00000011
Pause 500
PortC = %00000111
....

What stupid mistake am I making here??

Thanks