It happens when the LCD is disabled and the MCU is not in power save mode. The fix is to set the port pins used for the LCD as outputs and drive them low. When the LCD is disabled these ports revert to normal I/O ports. If the software leaves these ports in their default state, the inputs are apparently floating and this apparently is what causes the high current draw.
This abnormal current wanders around. It can exceed 2 ma. Sometimes it is zero. When there is no excessive current draw, touching some of the LCD pins can get it started.
According to the data sheet, there can be no DC voltage on the LCD when it is disabled as this can damage the LCD. So there are only two acceptable ways to set up the I/O ports. Either "tri-state" or driven low. Using pullups is not an option. I guess the default for the I/O pins is "tri-state". I think the Atmel Butterfly code leaves them this way, so I did it also. This is apparently safe for the LCD but can result in abnormal current draw.
I suppose this excessive current isn't generally a big problem. The mega chip on the Butterfly is usually in the power save mode. There is no excessive current draw in power save. Apparently in power save, the pins are decoupled from the rest of the Atmega and don't cause a problem. I can see this high current draw when I have the USART running and the LCD disabled. To make the USART work properly, I need to use idle mode instead of power save mode. The current draw in idle mode with the USART enabled should be around 285 uA. On a good day, that's what it is, until I touch some of the LCD pins.
Usually when the current draw is very high, all or almost all the pins read as high. For instance port A reads as 0xff. Driving just one of the port A pins low usually diminishes the current considerably. Driving all the LCD common pins low (port A pins 3-0) usually cuts the excess current to a few dozen uA. But to eliminate it entirely all the LCD pins need to be driven low. I think that's all pins on ports A and C, port D pins 7-2 and port G pins 4-0.
Just to make it clear, you can set up all these ports to drive the pins low at startup. It won't affect the operation of the LCD. When the LCD is enabled, it takes over the operation of these pins so how you set them up as general purpose I/O pins doesn't matter. It's when the LCD is disabled and these pins revert to general purpose I/O pins that it matters how they are set.