Index: /trunk/org.modelica.mdt.core/src/org/modelica/mdt/core/preferences/PreferenceManager.java
===================================================================
--- /trunk/org.modelica.mdt.core/src/org/modelica/mdt/core/preferences/PreferenceManager.java	(revision 1576)
+++ /trunk/org.modelica.mdt.core/src/org/modelica/mdt/core/preferences/PreferenceManager.java	(revision 1577)
@@ -83,5 +83,6 @@
 	public static final String START_OMC = "StartOMC";
 	public static final String OMC_IGNORED_DIRECTORIES_AND_FILES = "OMCIgnoredDirectoriesAndFiles";
-	public static final String OMC_COMMAND_LINE_PARAMETERS = "OMCCommandLineParameters";	
+	public static final String OMC_COMMAND_LINE_PARAMETERS = "OMCCommandLineParameters";
+	public static final String OMC_LIBRARIES = "OMCLibraries";
 	
 	protected final static String EDITOR_MATCHING_BRACKETS="matchingBrackets";
@@ -134,4 +135,5 @@
 		
 		store.setDefault(OMC_COMMAND_LINE_PARAMETERS, "+g=MetaModelica");
+		store.setDefault(OMC_LIBRARIES, "Modelica");
 		
 		store.setDefault(EDITOR_MATCHING_BRACKETS, true);
@@ -210,4 +212,22 @@
 	 * @return current setting for   
 	 */
+	public static String getOMCLibraries()
+	{
+		return getStore().getString(OMC_LIBRARIES);
+	}
+	
+	/**
+	 * @return current setting for   
+	 */
+	public static String[] getOMCLibrariesArray()
+	{
+		String x = getStore().getString(OMC_LIBRARIES);
+		String splitAt = " ";
+		return x.split(splitAt);
+	}	
+	
+	/**
+	 * @return current setting for   
+	 */
 	public static String[] getOMCIgnoredDirectoryAndFileArray()
 	{
Index: /trunk/org.modelica.mdt.omc/src/org/modelica/mdt/omc/OMCProxy.java
===================================================================
--- /trunk/org.modelica.mdt.omc/src/org/modelica/mdt/omc/OMCProxy.java	(revision 1576)
+++ /trunk/org.modelica.mdt.omc/src/org/modelica/mdt/omc/OMCProxy.java	(revision 1577)
@@ -129,5 +129,5 @@
 
 	/* indicates if the Modelica System Library has been loaded */
-	private boolean systemLibraryLoaded = false;
+	private String[] omcLibraries = {};
 
 	private java.util.List<String> standardLibraryPackages = null;
@@ -1098,18 +1098,12 @@
 	 */	
 	public String[] getStandardLibrary() throws ConnectException {
-		if (!systemLibraryLoaded) {
-			if (standardLibraryPackages == null) {
-				standardLibraryPackages = new ArrayList<String>();
-				standardLibraryPackages.add("Modelica"); 
-			}
-
-			sendExpression("loadModel(Modelica)", true);
-
-			systemLibraryLoaded = true;
-		}
-
-		String[] arr = standardLibraryPackages.toArray(new String[0]);
-
-		return arr;
+		String[] omcLibrariesFetch = PreferenceManager.getOMCLibrariesArray();
+		if (omcLibraries != omcLibrariesFetch ) {		
+			omcLibraries = omcLibrariesFetch;
+			for (int i=0;i<omcLibraries.length;i++) {
+				sendExpression("loadModel(" + omcLibraries[i] + ")", true);
+			}
+		}
+		return omcLibraries;
 	}
 
Index: /trunk/org.modelica.mdt.ui/src/org/modelica/mdt/ui/preferences/ModelicaPreferencePage.java
===================================================================
--- /trunk/org.modelica.mdt.ui/src/org/modelica/mdt/ui/preferences/ModelicaPreferencePage.java	(revision 1576)
+++ /trunk/org.modelica.mdt.ui/src/org/modelica/mdt/ui/preferences/ModelicaPreferencePage.java	(revision 1577)
@@ -76,4 +76,5 @@
 	private Text omcIgnoreDirectoriesAndFiles;
 	private Text omcCommandLineParameters;
+	private Text omcLibraries;
 	
 	private Button browseButton;
@@ -177,4 +178,25 @@
 		omcCommandLineParameters.setLayoutData(data);		
 		
+		/*
+		 * OMC Libraries
+		 */	
+		/* dummy label for space */
+		new Label(parent, SWT.NONE);
+		group = new Group(parent, SWT.SHADOW_ETCHED_IN);
+		group.setText("OMC libraries");		
+		data = new GridData(GridData.FILL_HORIZONTAL);
+		data.grabExcessHorizontalSpace = true;
+		group.setLayoutData(data);		
+		layout = new GridLayout();
+		layout.numColumns = 1;
+		group.setLayout(layout);
+		
+		data = new GridData(GridData.FILL_HORIZONTAL);		
+		data.grabExcessHorizontalSpace = true;
+		data.horizontalSpan = 1;		
+		omcLibraries = new Text(group, SWT.SINGLE | SWT.BORDER | SWT.LEFT);
+		omcLibraries.setText(PreferenceManager.getOMCLibraries());		
+		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
+		omcLibraries.setLayoutData(data);	
 		
 		/*
@@ -317,4 +339,5 @@
 		omcIgnoreDirectoriesAndFiles.setText(store.getDefaultString(PreferenceManager.OMC_IGNORED_DIRECTORIES_AND_FILES));
 		omcCommandLineParameters.setText(store.getDefaultString(PreferenceManager.OMC_COMMAND_LINE_PARAMETERS));
+		omcLibraries.setText(store.getDefaultString(PreferenceManager.OMC_LIBRARIES));
 	}
 
@@ -339,4 +362,6 @@
 		store.setValue(PreferenceManager.OMC_COMMAND_LINE_PARAMETERS,
 				omcCommandLineParameters.getText());
+		store.setValue(PreferenceManager.OMC_LIBRARIES,
+				omcLibraries.getText());
 		return true;
 	}
