diff --git a/bin/minindn b/bin/minindn
index e5305e9..2699bfd 100755
--- a/bin/minindn
+++ b/bin/minindn
@@ -110,7 +110,7 @@
         for host in hosts_conf:
             if host.cpu != None and self.isLimited != True:
                 self.isLimited = True
-            self.addHost(host.name, app=host.app, fib=host.uri_tuples,cpu=host.cpu,cores=host.cores,cache=host.cache)
+            self.addHost(host.name, app=host.app, params=host.uri_tuples, cpu=host.cpu,cores=host.cores,cache=host.cache)
 
         for link in links_conf:
             if len(link.linkDict) == 0:
diff --git a/bin/minindnedit b/bin/minindnedit
index 73c1305..c6e4945 100755
--- a/bin/minindnedit
+++ b/bin/minindnedit
@@ -245,6 +245,7 @@
                        'hostname':self.hostnameEntry.get(),
                        'startCommand':self.startEntry.get(),
                        'fibEntries':fibEntries,
+                       'nfd': self.nfdFrame.getValues(),
                        'nlsr': self.nlsrFrame.getValues()
             }
 
@@ -735,6 +736,10 @@
                         template.write('site=' + values['site'] + ' ')
                         template.write('nlsr-log-level=' + values['log-level'] + ' ')
                         template.write('max-faces-per-prefix=' + values['max-faces-per-prefix'] + ' ')
+                if 'nfd' in hOpts:
+                        values = hOpts['nfd']
+
+                        template.write('nfd-log-level=' + values['log-level'] + ' ')
 
                 template.write('\n')
 
@@ -1365,6 +1370,7 @@
                         newHostOpts['fibEntries'] = hostBox.result['fibEntries']
 
                     newHostOpts['nlsr'] = hostBox.nlsrFrame.getValues()
+                    newHostOpts['nfd'] = hostBox.nfdFrame.getValues()
 
                     self.hostOpts[name] = newHostOpts
 
