Index: tika-parsers/src/test/java/org/apache/tika/parser/html/HtmlParserTest.java
===================================================================
--- tika-parsers/src/test/java/org/apache/tika/parser/html/HtmlParserTest.java	(revision 1601343)
+++ tika-parsers/src/test/java/org/apache/tika/parser/html/HtmlParserTest.java	(working copy)
@@ -996,4 +996,25 @@
         assertTrue(Math.abs(textPosition[col]-47) < 10);
     }
     
+    
+     /**
+     * Test case for TIKA-1303: HTML parse should use the first title tag to set value in meta data 
+     * and ignore any subsequent title tags found in HTML.
+     * 
+     * @see <a href="https://issues.apache.org/jira/browse/TIKA-1303">TIKA-1303</a>
+     */
+    @Test
+    public void testFirstTitleValueisSetToMetadata() throws Exception{
+        String test = "<html><title>Simple Content</title><body><h1></h1>"
+        		+ "<title>TitleToIgnore</title></body></html>";
+        Metadata metadata = new Metadata();
+        
+        new HtmlParser().parse (
+                new ByteArrayInputStream(test.getBytes("UTF-8")),
+                new BodyContentHandler(),  metadata, new ParseContext());
+
+        //Expecting first title to be set in meta data and second one to be ignored.
+        assertEquals("Simple Content", metadata.get(TikaCoreProperties.TITLE));
+    }
+    
 }
Index: tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlHandler.java
===================================================================
--- tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlHandler.java	(revision 1601343)
+++ tika-parsers/src/main/java/org/apache/tika/parser/html/HtmlHandler.java	(working copy)
@@ -52,6 +52,8 @@
     private int discardLevel = 0;
 
     private int titleLevel = 0;
+    
+    private boolean isTitleSetToMetadata = false; 
 
     private final StringBuilder title = new StringBuilder();
 
@@ -238,8 +240,9 @@
 
         if (titleLevel > 0) {
             titleLevel--;
-            if (titleLevel == 0) {
+            if (titleLevel == 0 && !isTitleSetToMetadata) {            	
                 metadata.set(TikaCoreProperties.TITLE, title.toString().trim());
+                isTitleSetToMetadata = true;
             }
         }
         if (bodyLevel > 0) {
