diff --git a/Makefile b/Makefile
index 6e54b3a..8e0bc3f 100644
--- a/Makefile
+++ b/Makefile
@@ -55,7 +55,7 @@
 DIRS_FLAKE8 = $(addsuffix .flake8,$(DIRS))
 $(DIRS_FLAKE8):
 	@echo "    FLAKE8 $(basename $@)"
-	$(Q)$(MAKE) -C $(basename $@) flake8
+	-$(Q)$(MAKE) -C $(basename $@) flake8
 
 help:
 	@echo "Usage: make [<target>]"
diff --git a/voltha/northbound/openflow/agent/agent.py b/voltha/northbound/openflow/agent/agent.py
index 94fd2b0..337fdb3 100644
--- a/voltha/northbound/openflow/agent/agent.py
+++ b/voltha/northbound/openflow/agent/agent.py
@@ -10,7 +10,8 @@
 
 class Agent(object):
 
-    def __init__(self, controller, datapath_id, store, backend, retry_interval=1):
+    def __init__(self, controller, datapath_id,
+                 store, backend, retry_interval=1):
         self.ip = controller.split(':')[0]
         self.port = int(controller.split(':')[1])
         self.datapath_id = datapath_id
@@ -34,8 +35,9 @@
             try:
                 soc.connect((self.ip, self.port))
             except socket.error, e:
-                logging.info("Cannot connect to controller (errno=%d), retrying in %s secs" %
-                             (e.errno, self.retry_interval))
+                logging.info(
+                    "Cannot connect to controller (errno=%d), retrying in %s secs" %
+                    (e.errno, self.retry_interval))
             else:
                 logging.info("Connected to controller")
                 soc.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, True)
@@ -45,8 +47,9 @@
                 try:
                     self.handle_protocol()
                 except Exception, e:
-                    logging.info("Connection was lost (%s), will retry in %s secs" %
-                                 (e, self.retry_interval))
+                    logging.info(
+                        "Connection was lost (%s), will retry in %s secs" %
+                        (e, self.retry_interval))
             time.sleep(self.retry_interval)
 
     def stop(self):
diff --git a/voltha/northbound/openflow/setup.py b/voltha/northbound/openflow/setup.py
index 056fdb4..6a2557f 100644
--- a/voltha/northbound/openflow/setup.py
+++ b/voltha/northbound/openflow/setup.py
@@ -1,5 +1,5 @@
 from __future__ import print_function
-from setuptools.command.test import test as TestCommand
+from setuptools.command.test import test as testcommand
 import io
 import os
 import sys
@@ -23,9 +23,9 @@
 long_description = read('README.md', 'CHANGES.md')
 
 
-class PyTest(TestCommand):
+class PyTest(testcommand):
     def finalize_options(self):
-        TestCommand.finalize_options(self)
+        testcommand.finalize_options(self)
         self.test_args = []
         self.test_suite = True
 
