This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Yes, it is because of the order of your static code. All static code of a class i.e. all static variables and static blocks at runtime are initialized in the order they appear in code. so in this case declaring Map m before static block will fix NPE.