The BSE benchmark Sensex struggled for direction in a day of volatile trade, falling 58 points to 31,213.36 as investors took to profit-booking amid a mixed trend in global markets ahead of UK elections and the European Central Bank's policy meeting.