diff --git a/R/getWaterML1Data.r b/R/getWaterML1Data.r
index 554b7cbe153acf29e0027fa7d34af590ea846df7..213dd869908da790b63906a15ca24567a9e8d68b 100644
--- a/R/getWaterML1Data.r
+++ b/R/getWaterML1Data.r
@@ -24,8 +24,16 @@
 #' unitData <- getWaterML1Data(unitDataURL)
 getWaterML1Data <- function(obs_url){
   
+  h <- basicHeaderGatherer()
   doc = tryCatch({
-    doc <- xmlTreeParse(obs_url, getDTD = FALSE, useInternalNodes = TRUE)
+    returnedDoc <- getURI(obs_url, headerfunction = h$update)
+    if(h$value()["Content-Type"] == "text/xml;charset=UTF-8"){
+      xmlTreeParse(returnedDoc, getDTD = FALSE, useInternalNodes = TRUE)
+    } else {
+      message(paste("URL caused an error:", obs_url))
+      message("Content-Type=",h$value()["Content-Type"])
+      return(NA)
+    }   
     
   }, warning = function(w) {
     message(paste("URL caused a warning:", obs_url))
@@ -36,6 +44,7 @@ getWaterML1Data <- function(obs_url){
     return(NA)
   }) 
   
+  
   doc <- xmlRoot(doc)
   ns <- xmlNamespaceDefinitions(doc, simplify = TRUE)  
   timeSeries <- xpathApply(doc, "//ns1:timeSeries", namespaces = ns)