diff --git a/Gemfile b/Gemfile
index 99d17d3e9104daed6ae2c7c3a61b0b584fc99f1c..728910cfe70931e8c3e9e1886f0ada4ab9ff9c41 100644
--- a/Gemfile
+++ b/Gemfile
@@ -5,7 +5,6 @@ gem "hashdiff"
 gem "diffy"
 gem "mediawiki_api"
 gem "net-ssh"
-gem "ruby-ip"
 gem "dns-zone"
 gem "ruby-cute", :require => "cute"
 gem "peach"
diff --git a/Gemfile.lock b/Gemfile.lock
index 7e1adeb83f2915d2273d3088cde29ff1690c8dbe..f6780a70dd475de40d5ed19231e39f816a1f7b90 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -48,7 +48,6 @@ GEM
       json (>= 1.8)
       net-ssh-multi (>= 1.2)
       rest-client (>= 1.6)
-    ruby-ip (0.9.3)
     unf (0.1.4)
       unf_ext
     unf_ext (0.0.7.2)
diff --git a/lib/refrepo/gen/puppet/kavlang5k.rb b/lib/refrepo/gen/puppet/kavlang5k.rb
index 9585ee001e831f6bdd589e96ba44ad2e4df78955..8c2761ec31d2063a36ace613e41144c6158d538a 100644
--- a/lib/refrepo/gen/puppet/kavlang5k.rb
+++ b/lib/refrepo/gen/puppet/kavlang5k.rb
@@ -1,5 +1,3 @@
-# !!! Require to "gem install ruby-ip", do not install "ip" gem !!!
-
 require 'refrepo/hash/hash'
 
 def generate_puppet_kavlang5k(options)
diff --git a/lib/refrepo/gen/puppet/templates/kavlan-dhcp.conf.erb b/lib/refrepo/gen/puppet/templates/kavlan-dhcp.conf.erb
index 6fa1b13a96c49ffdf938b7fd87597d314c552726..38f4017e12d7e840dfcda80e859cb8c64a71ef7c 100644
--- a/lib/refrepo/gen/puppet/templates/kavlan-dhcp.conf.erb
+++ b/lib/refrepo/gen/puppet/templates/kavlan-dhcp.conf.erb
@@ -11,19 +11,18 @@ option pxelinux.reboottime code 211 = unsigned integer 32;
 option vendorinfo          code 43  = string;
 
 <%
-require 'ip'
 kavlan = refapi['sites'][site_uid]['kavlans'][kavlan_id]
-kavlan_ip = IP.new(kavlan['network'])
+kavlan_ip = IPAddress::IPv4::new(kavlan['network'])
 -%>
 
-subnet <%= kavlan_ip.network.to_addr %> netmask <%= kavlan_ip.netmask.to_addr %> {
+subnet <%= kavlan_ip.network %> netmask <%= kavlan_ip.netmask %> {
     default-lease-time 86400;
     max-lease-time 604800;
     option domain-name-servers <%= kavlan_id.to_i.between?(1, 3)? kavlan['gateway'] : "dns.#{site_uid}.grid5000.fr" %>;
     option ntp-servers <%= kavlan_id.to_i.between?(1, 3)? kavlan['gateway'] : "ntp.#{site_uid}.grid5000.fr" %>;
     option routers <%= kavlan['gateway'] %>;
-    option subnet-mask <%= kavlan_ip.netmask.to_addr %>;
-    option broadcast-address <%= kavlan_ip.broadcast.to_addr %>;
+    option subnet-mask <%= kavlan_ip.netmask %>;
+    option broadcast-address <%= kavlan_ip.broadcast %>;
     filename  "pxelinux.0";
     next-server <%= "kadeploy.#{site_uid}.grid5000.fr" %>;