https://bugs.eclipse.org/bugs/show_bug.cgi?id=77412
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InstanceValueImpl.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InstanceValueImpl.java
index bb92573..f75ecdf 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InstanceValueImpl.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/impl/InstanceValueImpl.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: InstanceValueImpl.java,v 1.4 2004/06/18 04:34:32 khussey Exp $
+ * $Id: InstanceValueImpl.java,v 1.5 2005/01/20 14:51:41 khussey Exp $
  */
 package org.eclipse.uml2.impl;
 
@@ -21,6 +21,7 @@
 import org.eclipse.emf.ecore.InternalEObject;
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.uml2.EnumerationLiteral;
 import org.eclipse.uml2.InstanceSpecification;
 import org.eclipse.uml2.InstanceValue;
 import org.eclipse.uml2.StringExpression;
@@ -28,6 +29,7 @@
 import org.eclipse.uml2.TemplateSignature;
 import org.eclipse.uml2.Type;
 import org.eclipse.uml2.UML2Package;
+import org.eclipse.uml2.ValueSpecification;
 import org.eclipse.uml2.VisibilityKind;
 
 /**
@@ -384,11 +386,25 @@
 		return eDynamicIsSet(eFeature);
 	}
 
-	/**
+	/*
+	 * (non-Javadoc)
+	 * 
 	 * @see org.eclipse.uml2.ValueSpecification#stringValue()
 	 */
 	public String stringValue() {
-		return null == getInstance() || null == getInstance().getSpecification() ? super.stringValue() : getInstance().getSpecification().stringValue();
+		InstanceSpecification instance = getInstance();
+
+		if (EnumerationLiteral.class.isInstance(instance)) {
+			return ((EnumerationLiteral) instance).getName();
+		} else if (null != instance) {
+			ValueSpecification specification = instance.getSpecification();
+
+			if (null != specification) {
+				return specification.stringValue();
+			}
+		}
+
+		return super.stringValue();
 	}
 
-} //InstanceValueImpl
+} // InstanceValueImpl
diff --git a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/UML2Operations.java b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/UML2Operations.java
index 6f22053..3ea9c84 100644
--- a/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/UML2Operations.java
+++ b/deprecated/plugins/org.eclipse.uml2/src/org/eclipse/uml2/internal/operation/UML2Operations.java
@@ -8,7 +8,7 @@
  * Contributors:
  *   IBM - Initial API and implementation
  *
- * $Id: UML2Operations.java,v 1.13 2005/01/19 22:55:30 khussey Exp $
+ * $Id: UML2Operations.java,v 1.14 2005/01/20 14:51:41 khussey Exp $
  */
 package org.eclipse.uml2.internal.operation;
 
@@ -271,7 +271,9 @@
 	protected static EAnnotation safeGetEAnnotation(
 			EModelElement eModelElement, String source) {
 
-		EAnnotation eAnnotation = getEAnnotation(eModelElement, source, false);
+		EAnnotation eAnnotation = null == eModelElement
+			? null
+			: getEAnnotation(eModelElement, source, false);
 
 		return null == eAnnotation
 			? EcoreFactory.eINSTANCE.createEAnnotation()