diff --git a/VECTO/OutputData/JSONFileWriter.vb b/VECTO/OutputData/JSONFileWriter.vb
index 295cb28882ed122a1bd07f5a009d49bf19fd0e33..4a4f3ab962a2c3ce6d9e0ed0573209bb87ea504f 100644
--- a/VECTO/OutputData/JSONFileWriter.vb
+++ b/VECTO/OutputData/JSONFileWriter.vb
@@ -256,7 +256,7 @@ Public Class JSONFileWriter
 		'ADVANCED AUXILIARIES 
 		body.Add("AuxiliaryAssembly", aux.AuxiliaryAssembly.GetName())
 		body.Add("AuxiliaryVersion", aux.AuxiliaryVersion)
-		body.Add("AdvancedAuxiliaryFilePath", aux.AdvancedAuxiliaryFilePath)
+		body.Add("AdvancedAuxiliaryFilePath", GetRelativePath(aux.AdvancedAuxiliaryFilePath, basePath))
 
 		Dim pAdd As Double = 0.0
 		Dim auxList As List(Of Object) = New List(Of Object)
diff --git a/VECTOAux/VectoAuxiliaries/FilePathUtils.vb b/VECTOAux/VectoAuxiliaries/FilePathUtils.vb
index 4060d63a7a60c2a84f883bc9981596dabab9306a..7fa77028360df16d5386e379722335f088cd70fe 100644
--- a/VECTOAux/VectoAuxiliaries/FilePathUtils.vb
+++ b/VECTOAux/VectoAuxiliaries/FilePathUtils.vb
@@ -8,6 +8,7 @@
 '   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 '
 ' See the LICENSE.txt for the specific language governing permissions and limitations.
+Imports System.IO
 
 Public Class FilePathUtils
 	Public Shared Function ValidateFilePath(ByVal filePath As String, ByVal expectedExtension As String,
@@ -21,7 +22,7 @@ Public Class FilePathUtils
 		Dim fileNameOnlyNoExtension As String = fileNameOnly(filePath, False)
 
 		'Is this filePath empty
-		If filePath.trim.Length = 0 OrElse Right(filePath, 1) = "\" Then
+		If filePath.Trim.Length = 0 OrElse Right(filePath, 1) = "\" Then
 			message = "A filename cannot be empty"
 			Return False
 		End If
@@ -86,7 +87,7 @@ Public Class FilePathUtils
 			'Filepath is already absolute
 			Return filename
 		Else
-			Return vectoPath & filename
+			Return Path.Combine(vectoPath, filename)	'vectoPath & filename
 		End If
 	End Function
 
@@ -119,7 +120,7 @@ Public Class FilePathUtils
 	Public Shared Function fileExtentionOnly(ByVal filePath As String) As String
 		Dim x As Integer
 		x = filePath.LastIndexOf(".")
-		If x = - 1 Then
+		If x = -1 Then
 			Return ""
 		Else
 			Return Microsoft.VisualBasic.Right(filePath, Microsoft.VisualBasic.Len(filePath) - x)
diff --git a/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb b/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb
index bdb0470136bdaed53f07769c233a5fcf7d6910f4..cdcf283270fb5e21eb8808ef4dd341e6905aa6d5 100644
--- a/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb
+++ b/VECTOAux/VectoAuxiliaries/UI/frmAuxiliaryConfig.vb
@@ -29,7 +29,7 @@ Public Class frmAuxiliaryConfig
 	Private processing As Boolean = False
 	Private SecondsIntoCycle As Integer = 0
 	Private vectoFile As String = ""
-	Private vectoPath As String = ""
+	Private aauxPath As String = ""
 	Private auxFile As String
 	Private cmFilesList As String()
 	Private SaveClicked As Boolean
@@ -60,18 +60,18 @@ Public Class frmAuxiliaryConfig
 
 
 		Me.vectoFile = vectoFileName
-		Me.vectoPath = FilePathUtils.filePathOnly(vectoFileName)
+		Me.aauxPath = Path.GetDirectoryName(Path.Combine(FilePathUtils.filePathOnly(vectoFileName), fileName))
 
 		' This call is required by the designer.
 		InitializeComponent()
 
 		' Add any initialization after the InitializeComponent() call.
-		auxFile = fileName
+		auxFile = Path.Combine(FilePathUtils.filePathOnly(vectoFileName), fileName)
 
 		Try
 
-			auxConfig = New AuxiliaryConfig(FilePathUtils.ResolveFilePath(vectoPath, auxFile))
-			originalConfig = New AuxiliaryConfig(FilePathUtils.ResolveFilePath(vectoPath, auxFile))
+			auxConfig = New AuxiliaryConfig(auxFile)
+			originalConfig = New AuxiliaryConfig(FilePathUtils.ResolveFilePath(aauxPath, auxFile))
 
 		Catch ex As Exception
 
@@ -287,7 +287,7 @@ Public Class frmAuxiliaryConfig
 		Dim comp As CompressorMap
 		Try
 
-			comp = New CompressorMap(FilePathUtils.ResolveFilePath(vectoPath, txtCompressorMap.Text))
+			comp = New CompressorMap(FilePathUtils.ResolveFilePath(aauxPath, txtCompressorMap.Text))
 			comp.Initialise()
 			ErrorProvider.SetError(txtCompressorMap, String.Empty)
 		Catch ex As Exception
@@ -324,7 +324,7 @@ Public Class frmAuxiliaryConfig
 		Dim actuations As PneumaticActuationsMAP
 		Try
 
-			actuations = New PneumaticActuationsMAP(FilePathUtils.ResolveFilePath(vectoPath, txtActuationsMap.Text))
+			actuations = New PneumaticActuationsMAP(FilePathUtils.ResolveFilePath(aauxPath, txtActuationsMap.Text))
 			actuations.Initialise()
 			ErrorProvider.SetError(txtActuationsMap, String.Empty)
 		Catch ex As Exception
@@ -415,7 +415,7 @@ Public Class frmAuxiliaryConfig
 		'Test File is valid
 		Dim alt As ICombinedAlternator
 		Try
-			alt = New CombinedAlternator(FilePathUtils.ResolveFilePath(vectoPath, txtAlternatorMapPath.Text))
+			alt = New CombinedAlternator(FilePathUtils.ResolveFilePath(aauxPath, txtAlternatorMapPath.Text))
 			ErrorProvider.SetError(txtAlternatorMapPath, String.Empty)
 		Catch ex As Exception
 			ErrorProvider.SetError(txtAlternatorMapPath,
@@ -469,7 +469,7 @@ Public Class frmAuxiliaryConfig
 		Dim message As String = ""
 
 		'Validate abdb -  Bus Database 
-		Dim abdbFile As String = FilePathUtils.ResolveFilePath(vectoPath, txtBusDatabaseFilePath.Text)
+		Dim abdbFile As String = FilePathUtils.ResolveFilePath(aauxPath, txtBusDatabaseFilePath.Text)
 		Dim bdb As New BusDatabase()
 		If bdb.Initialise(abdbFile) Then
 			ErrorProvider.SetError(txtBusDatabaseFilePath, String.Empty)
@@ -482,7 +482,7 @@ Public Class frmAuxiliaryConfig
 		'Try ahsm - HVac Steady State Model
 		Try
 
-			Dim ahsmFile As String = FilePathUtils.ResolveFilePath(vectoPath, txtSSMFilePath.Text)
+			Dim ahsmFile As String = FilePathUtils.ResolveFilePath(aauxPath, txtSSMFilePath.Text)
 			Dim ssmTool As SSMTOOL = New SSMTOOL(ahsmFile, New HVACConstants, False)
 
 			If ssmTool.Load(ahsmFile) Then
@@ -568,7 +568,7 @@ Public Class frmAuxiliaryConfig
 
 		Dim result As DialogResult
 
-		If Not File.Exists(FilePathUtils.ResolveFilePath(vectoPath, auxFile)) OrElse
+		If Not File.Exists(FilePathUtils.ResolveFilePath(aauxPath, auxFile)) OrElse
 			Not auxConfig.ConfigValuesAreTheSameAs(originalConfig) Then
 
 			result =
@@ -795,7 +795,7 @@ Public Class frmAuxiliaryConfig
 			End If
 		End If
 
-		result = auxConfig.Save(FilePathUtils.ResolveFilePath(vectoPath, auxFile))
+		result = auxConfig.Save(FilePathUtils.ResolveFilePath(aauxPath, auxFile))
 
 		If Not result Then MessageBox.Show(String.Format("Unable to Save the file '{0}'", auxFile))
 
@@ -810,7 +810,7 @@ Public Class frmAuxiliaryConfig
 		'Release existing databindings
 		UnbindAllControls(Me)
 
-		result = auxConfig.Load(FilePathUtils.ResolveFilePath(vectoPath, auxFile))
+		result = auxConfig.Load(FilePathUtils.ResolveFilePath(aauxPath, auxFile))
 
 		If Not result Then
 			MessageBox.Show(String.Format("Unable to load the file '{0}'", auxFile))
@@ -859,7 +859,7 @@ Public Class frmAuxiliaryConfig
 		'If file Exists, Check validity, else fire up a default SSM Config.
 		If fileExists Then
 			Try
-				Dim aaltFile As String = FilePathUtils.ResolveFilePath(vectoPath, absoluteAALTPath)
+				Dim aaltFile As String = FilePathUtils.ResolveFilePath(aauxPath, absoluteAALTPath)
 				Dim combinedAlt As ICombinedAlternator = New CombinedAlternator(aaltFile)
 			Catch ex As Exception
 				MessageBox.Show("The supplied .AALT File was invalid, aborting.")
@@ -897,9 +897,9 @@ Public Class frmAuxiliaryConfig
 			Using frm As New frmCombinedAlternators(absoluteAALTPath, New CombinedAlternatorSignals)
 				'If Dialog result is OK, then take action else bail
 				If frm.ShowDialog() = Windows.Forms.DialogResult.OK Then
-					If suppliedAALTPath.Contains(":\") AndAlso Not String.IsNullOrEmpty(vectoPath) Then
+					If suppliedAALTPath.Contains(":\") AndAlso Not String.IsNullOrEmpty(aauxPath) Then
 						txtAlternatorMapPath.Text =
-							If(suppliedAALTPath.Contains(vectoPath), suppliedAALTPath.Replace(vectoPath, ""), suppliedAALTPath)
+							If(suppliedAALTPath.Contains(aauxPath), suppliedAALTPath.Replace(aauxPath, ""), suppliedAALTPath)
 					Else
 						txtAlternatorMapPath.Text = fFileWoDir(suppliedAALTPath)
 					End If
@@ -981,7 +981,7 @@ Public Class frmAuxiliaryConfig
 
 			Dim busDB As New BusDatabase()
 
-			If Not busDB.Initialise(FilePathUtils.ResolveFilePath(vectoPath, txtBusDatabaseFilePath.Text)) Then
+			If Not busDB.Initialise(FilePathUtils.ResolveFilePath(aauxPath, txtBusDatabaseFilePath.Text)) Then
 
 				MessageBox.Show("Unable to load")
 
@@ -1019,7 +1019,7 @@ Public Class frmAuxiliaryConfig
 		If File.Exists(absoluteSSMPath) Then
 			'is file valid Try ahsm - HVac Steady State Model
 			Try
-				Dim ahsmFile As String = FilePathUtils.ResolveFilePath(vectoPath, absoluteSSMPath)
+				Dim ahsmFile As String = FilePathUtils.ResolveFilePath(aauxPath, absoluteSSMPath)
 				Dim ssmTool As SSMTOOL = New SSMTOOL(ahsmFile, New HVACConstants, False)
 				ssmTool.Load(ahsmFile)
 			Catch ex As Exception
@@ -1056,9 +1056,9 @@ Public Class frmAuxiliaryConfig
 
 			Using frm As New frmHVACTool(absoluteBusDatabasePath, absoluteSSMPath, vectoFile, Not fileExists)
 				If frm.ShowDialog() = Windows.Forms.DialogResult.OK Then
-					If suppliedSSMPath.Contains(":\") AndAlso Not String.IsNullOrEmpty(vectoPath) Then
+					If suppliedSSMPath.Contains(":\") AndAlso Not String.IsNullOrEmpty(aauxPath) Then
 						txtSSMFilePath.Text =
-							If(suppliedSSMPath.Contains(vectoPath), suppliedSSMPath.Replace(vectoPath, ""), suppliedSSMPath)
+							If(suppliedSSMPath.Contains(aauxPath), suppliedSSMPath.Replace(aauxPath, ""), suppliedSSMPath)
 					Else
 						txtSSMFilePath.Text = fFileWoDir(suppliedSSMPath)
 					End If
@@ -1233,7 +1233,7 @@ Public Class frmAuxiliaryConfig
 
 		Try
 
-			If ssmMap.SetValuesFromMap(FilePathUtils.ResolveFilePath(vectoPath, txtSSMFilePath.Text), message) Then
+			If ssmMap.SetValuesFromMap(FilePathUtils.ResolveFilePath(aauxPath, txtSSMFilePath.Text), message) Then
 
 				Return ssmMap