diff --git a/drivers/src/main/java/org/onosproject/driver/handshaker/CorsaSwitchHandShaker.java b/drivers/src/main/java/org/onosproject/driver/handshaker/CorsaSwitchHandshaker.java
similarity index 91%
rename from drivers/src/main/java/org/onosproject/driver/handshaker/CorsaSwitchHandShaker.java
rename to drivers/src/main/java/org/onosproject/driver/handshaker/CorsaSwitchHandshaker.java
index f4a45b8..376b398 100644
--- a/drivers/src/main/java/org/onosproject/driver/handshaker/CorsaSwitchHandShaker.java
+++ b/drivers/src/main/java/org/onosproject/driver/handshaker/CorsaSwitchHandshaker.java
@@ -33,9 +33,9 @@
 /**
  * Corsa switch handshaker.
  */
-public class CorsaSwitchHandShaker extends AbstractOpenFlowSwitch {
+public class CorsaSwitchHandshaker extends AbstractOpenFlowSwitch {
 
-    private AtomicBoolean handShakeComplete = new AtomicBoolean(false);
+    private AtomicBoolean handshakeComplete = new AtomicBoolean(false);
 
     private int barrierXid;
 
@@ -72,7 +72,7 @@
         if (!startDriverHandshakeCalled) {
             throw new SwitchDriverSubHandshakeAlreadyStarted();
         }
-        return handShakeComplete.get();
+        return handshakeComplete.get();
     }
 
     @Override
@@ -80,12 +80,12 @@
         if (!startDriverHandshakeCalled) {
             throw new SwitchDriverSubHandshakeNotStarted();
         }
-        if (handShakeComplete.get()) {
+        if (handshakeComplete.get()) {
             throw new SwitchDriverSubHandshakeCompleted(m);
         }
         if (m.getType() == OFType.BARRIER_REPLY &&
                 m.getXid() == barrierXid) {
-            handShakeComplete.set(true);
+            handshakeComplete.set(true);
         }
     }
 
diff --git a/drivers/src/main/java/org/onosproject/driver/handshaker/DefaultSwitchHandShaker.java b/drivers/src/main/java/org/onosproject/driver/handshaker/DefaultSwitchHandshaker.java
similarity index 96%
rename from drivers/src/main/java/org/onosproject/driver/handshaker/DefaultSwitchHandShaker.java
rename to drivers/src/main/java/org/onosproject/driver/handshaker/DefaultSwitchHandshaker.java
index 671acda..fb78944 100644
--- a/drivers/src/main/java/org/onosproject/driver/handshaker/DefaultSwitchHandShaker.java
+++ b/drivers/src/main/java/org/onosproject/driver/handshaker/DefaultSwitchHandshaker.java
@@ -28,7 +28,7 @@
 /**
  * Default driver to fallback on if no other driver is available.
  */
-public class DefaultSwitchHandShaker extends AbstractOpenFlowSwitch {
+public class DefaultSwitchHandshaker extends AbstractOpenFlowSwitch {
 
     private static final int LOWEST_PRIORITY = 0;
 
diff --git a/drivers/src/main/java/org/onosproject/driver/handshaker/NiciraSwitchHandShaker.java b/drivers/src/main/java/org/onosproject/driver/handshaker/NiciraSwitchHandshaker.java
similarity index 93%
rename from drivers/src/main/java/org/onosproject/driver/handshaker/NiciraSwitchHandShaker.java
rename to drivers/src/main/java/org/onosproject/driver/handshaker/NiciraSwitchHandshaker.java
index 467cc9b..4f61361 100644
--- a/drivers/src/main/java/org/onosproject/driver/handshaker/NiciraSwitchHandShaker.java
+++ b/drivers/src/main/java/org/onosproject/driver/handshaker/NiciraSwitchHandshaker.java
@@ -21,7 +21,7 @@
 /**
  * Default driver to fallback on if no other driver is available.
  */
-public class NiciraSwitchHandShaker extends DefaultSwitchHandShaker {
+public class NiciraSwitchHandshaker extends DefaultSwitchHandshaker {
 
     @Override
     public Boolean supportNxRole() {
