diff --git a/core/lib/Thelia/Core/Template/Loop/Module.php b/core/lib/Thelia/Core/Template/Loop/Module.php
index 786990b66..68d9243dd 100755
--- a/core/lib/Thelia/Core/Template/Loop/Module.php
+++ b/core/lib/Thelia/Core/Template/Loop/Module.php
@@ -148,6 +148,23 @@ class Module extends BaseI18nLoop implements PropelSearchLoopInterface
->set("CLASS", $module->getFullNamespace())
->set("POSITION", $module->getPosition());
+ $hasConfigurationInterface = false;
+ $routerId = "router." . $module->getBaseDir();
+ /* first test if module defines it's own config route */
+ if($this->container->has($routerId)) {
+ if($this->container->get($routerId)->match('/admin/module/' . $module->getCode())) {
+ $hasConfigurationInterface = true;
+ }
+ }
+ /* if not ; test if it uses admin inclusion : module_configuration.html */
+ if(false === $hasConfigurationInterface) {
+ if(file_exists( sprintf("%s/%s/AdminIncludes/%s.html", THELIA_MODULE_DIR, $module->getBaseDir(), "module_configuration"))) {
+ $hasConfigurationInterface = true;
+ }
+ }
+
+ $loopResultRow->set("CONFIGURABLE", $hasConfigurationInterface ? 1 : 0);
+
if (null !== $this->getProfile()) {
$accessValue = $module->getVirtualColumn('access');
$manager = new AccessManager($accessValue);
diff --git a/templates/backOffice/default/includes/module-block.html b/templates/backOffice/default/includes/module-block.html
index af58c3573..386b28e6f 100644
--- a/templates/backOffice/default/includes/module-block.html
+++ b/templates/backOffice/default/includes/module-block.html
@@ -41,10 +41,11 @@
-
- {loop type="auth" name="can_change" role="ADMIN" module=$CODE access="VIEW"}
- {intl l="Configure"}
- {/loop}
+ {if $CONFIGURABLE == 1}
+ {loop type="auth" name="can_change" role="ADMIN" module=$CODE access="VIEW"}
+ {intl l="Configure"}
+ {/loop}
+ {/if}
{*loop type="auth" name="can_change" role="ADMIN" resource="admin.modules" access="VIEW"}