Can't say I've seen that issue before. But yes, wonky normals are the problem, probably. First check that you didn't accidentally mirror the disobedient side twice.
I'm going to guess that the UV map is mirrored down the center, and overlapping. Move the UV shell(s) for the mirrored side one unit away from the normal 0,1 space, so the two halves no longer occupy the same space. Then re-export, and if need be, Update Tangent space on the model in NifSkope. It's a bit mislabeled in NifSkope at the moment, but inside a TriShapeData or TriStripsData is "BS Num UV Sets", which should read "Has Tangents and Binormals". (unless someones' discovered this flag as dual purposes...) The Update Tangent Space spell will only write Tangents and Binormals if said flag is set to 4097, which is important for proper rendering of normal maps.