diff --git a/arduino-core/src/cc/arduino/packages/DiscoveryManager.java b/arduino-core/src/cc/arduino/packages/DiscoveryManager.java
index 30f2f1d1dfc..21876ffc47e 100644
--- a/arduino-core/src/cc/arduino/packages/DiscoveryManager.java
+++ b/arduino-core/src/cc/arduino/packages/DiscoveryManager.java
@@ -35,6 +35,7 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.io.File;
 
 import cc.arduino.packages.discoverers.PluggableDiscovery;
 import cc.arduino.packages.discoverers.serial.SerialDiscovery;
@@ -65,6 +66,10 @@ public DiscoveryManager(Map<String, TargetPackage> packages) {
       for (TargetPlatform platform: targetPackage.getPlatforms().values()) {
         //System.out.println("installed: "+platform);
         PreferencesMap prefs = platform.getPreferences().subTree("discovery");
+        PreferencesMap pathPrefs = new PreferencesMap();
+        File platformFolder = platform.getFolder();
+        pathPrefs.put("runtime.platform.path", platformFolder.getAbsolutePath());
+        pathPrefs.put("runtime.hardware.path", platformFolder.getParentFile().getAbsolutePath());
         for (String discoveryName : prefs.firstLevelMap().keySet()) {
           PreferencesMap discoveryPrefs = prefs.subTree(discoveryName);
 
@@ -76,9 +81,11 @@ public DiscoveryManager(Map<String, TargetPackage> packages) {
           try {
             if (PreferencesData.getBoolean("discovery.debug")) {
               System.out.println("found discovery: " + discoveryName + " -> " + pattern);
+              System.out.println("with pathnames -> " + pathPrefs);
               System.out.println("with preferencess -> " + discoveryPrefs);
             }
             pattern = StringReplacer.replaceFromMapping(pattern, PreferencesData.getMap());
+            pattern = StringReplacer.replaceFromMapping(pattern, pathPrefs);
             String[] cmd = StringReplacer.formatAndSplit(pattern, discoveryPrefs);
             discoverers.add(new PluggableDiscovery(discoveryName, cmd));
           } catch (Exception e) {