diff --git a/applications/luci-statistics/luasrc/statistics/datatree.lua b/applications/luci-statistics/luasrc/statistics/datatree.lua
index 637fcf466f..6a6cbd0d58 100644
--- a/applications/luci-statistics/luasrc/statistics/datatree.lua
+++ b/applications/luci-statistics/luasrc/statistics/datatree.lua
@@ -7,7 +7,7 @@ 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
+		http://www.apache.org/licenses/LICENSE-2.0
 
 $Id$
 
@@ -19,7 +19,7 @@ local util = require("luci.util")
 local sys  = require("luci.sys")
 local fs   = require("luci.fs")
 local uci  = require("luci.model.uci").cursor()
-local sections = uci:get_all( "luci_statistics" )
+local sections = uci:get_all("luci_statistics")
 
 
 Instance = util.class()
@@ -59,13 +59,25 @@ function Instance._notzero( self, table )
 end
 
 function Instance._scan( self )
-	local dir = fs.dir( self._libdir )
-	if not dir then
+	local dirs = fs.dir( self:_mkpath() )
+	if not dirs then
 		return
 	end
-	for i, plugin in ipairs( dir ) do
-		if plugin:match("%w+.so") then
-			self._plugins[ plugin:gsub(".so", "") ] = { }
+
+--	for i, plugin in ipairs( dirs ) do
+--		if plugin:match("%w+.so") then
+--			self._plugins[ plugin:gsub("%.so$", "") ] = { }
+--		end
+--	end
+
+	for _, dir in ipairs(dirs) do
+		if dir ~= "." and dir ~= ".." and
+		   fs.stat(self:_mkpath(dir)).type == "directory"
+		then
+			local plugin = dir:gsub("%-.+$", "")
+			if not self._plugins[plugin] then
+				self._plugins[plugin] = { }
+			end
 		end
 	end
 
diff --git a/applications/luci-statistics/root/etc/init.d/luci_statistics b/applications/luci-statistics/root/etc/init.d/luci_statistics
index 55999a8f7f..e4da1d5b1a 100755
--- a/applications/luci-statistics/root/etc/init.d/luci_statistics
+++ b/applications/luci-statistics/root/etc/init.d/luci_statistics
@@ -17,6 +17,9 @@ start() {
 		imagepath="$(uci get luci_statistics.rrdtool.image_path)"
 		ln -s ${imagepath:-/tmp/rrdimg}/ /www/rrdimg
 	fi
+
+    ### flush LuCI index cache
+    test -f /var/luci-indexcache && rm /var/luci-indexcache
 }
 
 restart() {
diff --git a/applications/luci-statistics/root/usr/bin/stat-genconfig b/applications/luci-statistics/root/usr/bin/stat-genconfig
index b62005ce10..e179cdb344 100755
--- a/applications/luci-statistics/root/usr/bin/stat-genconfig
+++ b/applications/luci-statistics/root/usr/bin/stat-genconfig
@@ -9,7 +9,7 @@ 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
+		http://www.apache.org/licenses/LICENSE-2.0
 
 $Id$
 
@@ -96,15 +96,15 @@ function config_exec( c )
 
 				cmd = sections[s].cmdline
 
-                if cmd then
-                    cmd   = cmd:gsub("^%s+", ""):gsub("%s+$", "")
-                    user  = sections[s].cmduser  or "nobody"
-                    group = sections[s].cmdgroup
+				if cmd then
+					cmd   = cmd:gsub("^%s+", ""):gsub("%s+$", "")
+					user  = sections[s].cmduser  or "nobody"
+					group = sections[s].cmdgroup
 
-                    str = str .. "\t" .. key .. ' "' ..
-                        user .. ( group and ":" .. group or "" ) .. '" "' ..
-                        cmd:gsub('%s+', '" "') .. '"\n'
-                end
+					str = str .. "\t" .. key .. ' "' ..
+						user .. ( group and ":" .. group or "" ) .. '" "' ..
+						cmd:gsub('%s+', '" "') .. '"\n'
+				end
 			end
 		end
 	end
@@ -162,9 +162,9 @@ function config_network( c )
 						str = str .. "\t" .. key .. " " .. host .. "\n"
 					end
 				end
-                        end
-                end
-        end
+						end
+				end
+		end
 
 	return str .. _string( c["TimeToLive"], "TimeToLive" )
 		   .. _string( c["CacheFlush"], "CacheFlush" )