Arduino Yun: USB Flash drive interfers with Analog 0 pin

Hi All
I came across a strange problem.
I am using a DFRobot LCD shield to display the results of a small sketch I am working on to display different information about the Yun depending on which button is pushed. The buttons use A0 with different values returned for the different buttons.
// read the buttons
int read_LCD_buttons(){
adc_key_in = analogRead(0); // read the value from the buttons
if (adc_key_in > 1000) return btnNONE;
if (adc_key_in < 50) return btnRIGHT;
if (adc_key_in < 195) return btnUP;
if (adc_key_in < 380) return btnDOWN;
if (adc_key_in < 555) return btnLEFT;
if (adc_key_in < 790) return btnSELECT;
return btnNONE; // when all others fail, return this…
When I plug in a usb flash drive, the sketch keeps displaying the results you would get from pushing ths up button.
The flash drive mounts fine and can be accessed when I SSH into the Yun
I get the same results if I power it from my laptop or from a AD/DC converter.
I did some more testing with other flash drives and 3 of 4 that have a metal casing around the connectors have the same problem, but the one I tested that just has the connections, no metal case, works fine.
Also, when i connect a usb flash drive with a metal sheld to the Yun through a USB hub, the problem goes away, even though the connecting cable has a metal casing around the connectors. I assume that the metal on the flash drive is causing the problem.
I don’t think it is a big problem, annoying as have to use a hub to read a drive, but it shouldn’t be happening.
Any ideas on what is going on.

Your USB hub is self-powered hub or bus-powered hub?

The self-powered hub is one that takes its power from an external power supply unit and can therefore provide full power (up to 500 mA) to every port.