Use :before's borders to draw the main rectangular part of the arrow, instead of a background on #flag. So set the border-top and border-bottom on #flag:before to be #231f20. That way, you can just set the border-left on #flag:before to be transparent.
Here's a modified version with different colors to help visualize which borders are drawing which part in this solution. http://jsfiddle.net/fuvwsn55/