diff --git a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
index 25b0558..b758244 100644
--- a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
+++ b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
@@ -35,6 +35,7 @@
 import java.util.List;
 import java.util.Set;
 import java.util.UUID;
+import java.util.logging.Level;
 import java.util.logging.Logger;
 
 import org.apache.jena.riot.Lang;
@@ -435,7 +436,12 @@
 
 		// retrievedFrom
 		RDFNode retrievedNode = ro.getPropertyValue(retrievedFrom);
-		manifest.setRetrievedFrom(retrievedNode);
+		try {
+			manifest.setRetrievedFrom(new URI(retrievedNode.asResource().getURI()));
+		} catch (URISyntaxException ex) {
+			logger.log(Level.WARNING, "Error creating URI for retrievedFrom: " +
+					retrievedNode.asResource().getURI(), ex);
+		}
 
 		// retrievedBy
 		List<Agent> retrievers = getAgents(root, ro, retrievedBy);
@@ -498,7 +504,12 @@
 
 			// retrievedFrom
 			RDFNode retrievedAggrNode = aggrResource.getPropertyValue(retrievedFrom);
-			meta.setRetrievedFrom(retrievedAggrNode);
+			try {
+				meta.setRetrievedFrom(new URI(retrievedAggrNode.asResource().getURI()));
+			} catch (URISyntaxException ex) {
+				logger.log(Level.WARNING, "Error creating URI for retrievedFrom: " +
+						retrievedAggrNode.asResource().getURI(), ex);
+			}
 
 			// retrievedBy
 			List<Agent> retrieversAggr = getAgents(root, aggrResource, retrievedBy);
diff --git a/taverna-robundle/src/main/java/org/apache/taverna/robundle/utils/RDFUtils.java b/taverna-robundle/src/main/java/org/apache/taverna/robundle/utils/RDFUtils.java
index 5230827..716a723 100644
--- a/taverna-robundle/src/main/java/org/apache/taverna/robundle/utils/RDFUtils.java
+++ b/taverna-robundle/src/main/java/org/apache/taverna/robundle/utils/RDFUtils.java
@@ -39,6 +39,7 @@
 		if (rdfNode == null)
 			return null;
 		if (!rdfNode.isLiteral()) {
+			new Exception().printStackTrace();
 			logger.warning("Expected literal. not " + rdfNode);
 			return null;
 		}
