diff --git a/src/main/java/net/onrc/onos/core/flowprogrammer/FlowPusher.java b/src/main/java/net/onrc/onos/core/flowprogrammer/FlowPusher.java
index 3f5326e..48b2a60 100644
--- a/src/main/java/net/onrc/onos/core/flowprogrammer/FlowPusher.java
+++ b/src/main/java/net/onrc/onos/core/flowprogrammer/FlowPusher.java
@@ -113,7 +113,7 @@
      *
      * @author Naoki Shiota
      */
-    private class SwitchQueue {
+    private static class SwitchQueue {
         List<Queue<SwitchQueueEntry>> rawQueues;
         QueueState state;
 
diff --git a/src/main/java/net/onrc/onos/core/intent/IntentMap.java b/src/main/java/net/onrc/onos/core/intent/IntentMap.java
index 0bba44b..9bdb21f 100644
--- a/src/main/java/net/onrc/onos/core/intent/IntentMap.java
+++ b/src/main/java/net/onrc/onos/core/intent/IntentMap.java
@@ -39,7 +39,7 @@
         STATE_CHANGED,
     }
 
-    public class ChangedEvent {
+    public static class ChangedEvent {
         public ChangedEvent(ChangedEventType eventType, Intent intent) {
             this.eventType = eventType;
             this.intent = intent;
diff --git a/src/main/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModule.java b/src/main/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModule.java
index 5672c58..3e3af13 100755
--- a/src/main/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModule.java
+++ b/src/main/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModule.java
@@ -41,7 +41,7 @@
  * @author Toshio Koide (t-koide@onlab.us)
  */
 public class PathCalcRuntimeModule implements IFloodlightModule, IPathCalcRuntimeService, INetworkGraphListener, IEventChannelListener<Long, IntentStateList> {
-    class PerfLog {
+    static class PerfLog {
         private String step;
         private long time;
 
diff --git a/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java b/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java
index 496ae45..e91ab27 100755
--- a/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java
+++ b/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java
@@ -204,7 +204,7 @@
         }
     }
 
-    protected class ClusterLeaderListener implements LeaderLatchListener {
+    protected static class ClusterLeaderListener implements LeaderLatchListener {
         LeaderLatch latch;
 
         public ClusterLeaderListener(LeaderLatch latch) {
diff --git a/src/test/java/net/onrc/onos/core/intent/IntentMapTest.java b/src/test/java/net/onrc/onos/core/intent/IntentMapTest.java
index 5a6c9fa..ca9ddbd 100644
--- a/src/test/java/net/onrc/onos/core/intent/IntentMapTest.java
+++ b/src/test/java/net/onrc/onos/core/intent/IntentMapTest.java
@@ -36,7 +36,7 @@
     @Test
     public void testChangedEventCreate() {
         IntentMap intents = new IntentMap();
-        IntentMap.ChangedEvent event = intents.new ChangedEvent(
+        IntentMap.ChangedEvent event = new IntentMap.ChangedEvent(
                 ChangedEventType.ADDED,
                 new Intent("id1"));
         assertEquals(ChangedEventType.ADDED, event.eventType);
