diff --git a/utils/jnc/pom.xml b/utils/jnc/pom.xml
deleted file mode 100644
index 4e4adf3..0000000
--- a/utils/jnc/pom.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Copyright 2014 Open Networking Laboratory
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.onosproject</groupId>
-        <artifactId>onlab-utils</artifactId>
-        <version>1.6.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>onlab-jnc-osgi</artifactId>
-    <packaging>bundle</packaging>
-
-    <description>TailF JNC and Ganymed SSH2 packaged as OSGi bundle</description>
-
-    <dependencies>
-        <dependency>
-            <groupId>ch.ethz.ganymed</groupId>
-            <artifactId>ganymed-ssh2</artifactId>
-            <version>262</version>
-        </dependency>
-
-        <dependency>
-            <!-- TODO: change this appropriately when the official TailF JNC is available -->
-            <groupId>org.onosproject</groupId>
-            <artifactId>jnc</artifactId>
-            <version>1.0</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-shade-plugin</artifactId>
-                <version>2.4.2</version>
-                <configuration>
-                    <filters>
-                        <filter>
-                            <artifact>com.google.guava:guava</artifact>
-                            <excludes>
-                                <exclude>**</exclude>
-                            </excludes>
-                        </filter>
-                    </filters>
-                </configuration>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>shade</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <configuration>
-                    <instructions>
-                        <Export-Package>
-                            com.tailf.jnc,
-                            ch.ethz.ssh2,
-                            ch.ethz.ssh2.auth,
-                            ch.ethz.ssh2.channel,
-                            ch.ethz.ssh2.crypto,
-                            ch.ethz.ssh2.crypto.cipher,
-                            ch.ethz.ssh2.crypto.dh,
-                            ch.ethz.ssh2.crypto.digest,
-                            ch.ethz.ssh2.log,
-                            ch.ethz.ssh2.packets,
-                            ch.ethz.ssh2.server,
-                            ch.ethz.ssh2.sftp,
-                            ch.ethz.ssh2.signature,
-                            ch.ethz.ssh2.transport,
-                            ch.ethz.ssh2.util
-                        </Export-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/utils/pom.xml b/utils/pom.xml
index 6595ffd..f1a9d97 100644
--- a/utils/pom.xml
+++ b/utils/pom.xml
@@ -40,7 +40,6 @@
         <module>thirdparty</module>
         <module>stc</module>
         <module>jdvue</module>
-        <module>jnc</module>
         <module>osgiwrap</module>
     </modules>
 
