diff --git a/planning/poll2013.php b/planning/poll2013.php
new file mode 100644
index 0000000..e294c93
--- /dev/null
+++ b/planning/poll2013.php
@@ -0,0 +1,90 @@
+<?php 
+//ini_set("display_errors", "true");
+//error_reporting (E_ALL);
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");      require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");      require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php");     $App   = new App();  $Nav   = new Nav();  $Menu  = new Menu();
+
+       #*****************************************************************************
+       #
+       # poll2013.php
+       #
+       # Author:                   Chris Aniszczyk
+       # Date:                     2010-04-07
+       #
+       # Description: Quick poll to get input for Junot +1 Sim. Release name. 
+       #
+       #
+       #****************************************************************************
+       
+       #
+       # Begin: page-specific settings.  Change these. 
+       $pageTitle           = "Community Poll Vote";
+       $pageKeywords = "Eclipse Simultaneous Release 2013";
+       $pageAuthor          = "Chris Aniszczyk";
+       $theme = "Nova";
+
+	   # Polls are good for 3 months!
+	   $App->usePolls();
+
+	   # Poll 1
+	   $Poll = new Poll(8, "Runoff vote - What is your favorite name for the 2013 Simultaneous Release?");
+	   $Poll->addOption(1, "Kari"); 
+	   $Poll->addOption(2, "Kartos"); 
+	   $Poll->addOption(3, "Kepler");
+	   $Poll->addOption(4, "Ketu");
+	   $Poll->addOption(5, "Koronis");
+	   $Poll->addOption(6, "Kuiper");
+	   $Poll->noGraph();  # uncomment to disable bar graph
+	   $pollHTML = $Poll->getHTML();
+
+	   $Poll->requireLogin(); # no anonymous votes
+
+	       # Paste your HTML content between the markers!   
+	ob_start();
+	?>            
+
+
+	<div id="maincontent" style="width: 90%; padding: 5%;">
+
+	              <h1><?= $pageTitle ?></h1>
+	                     <h2>Help decide the name for the 2013 Eclipse Simultaneous Release!</h2>
+	                     <p>There will be an Eclipse Simultaneous Release on the fourth Wednesday of
+	                     June, 2013. But what to call it? Please vote, only once, for your favorite name for that 2013
+	                     release.</p>
+
+	                     <p>Remember, the simultaneous release name is an informal <i>marketing name</i>. It
+	                     should be recognizable, pronounceable, relatively distinct and not obvious
+	                     to confuse with other software or trademarks. Be sure to
+	                     consider how it sounds in context, such as...
+	
+						 <blockquote>
+	                     "Hey, go download the Eclipse
+	                     xyz Release and see all the cool stuff in there!" 
+	                    </blockquote>
+
+	                     <p>The following list was arrived at with input from the community (see
+	                     <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=365965">bug
+	                     365965</a> and discussions inside the Eclipse Planning Council.</p>
+
+	                            <div style="padding: 10px; margin-left: 5%; margin-right: 5%;">
+	                                                 <?= $pollHTML ?>
+	                            </div>
+
+	                     <p>Thanks for your vote. And your help with Eclipse!</p>              
+
+	                     <p>This poll will be open until January 15.</p>
+
+	                     <p><b>Note: The Planning Council reserves the right to make the final decision, in case some
+	                     popularly voted item is later found to be unsuitable for some reason.</b><p>
+
+	                     <p>Current time: <?php echo date("d/m/y : H:i (T)", time()); ?></p>
+
+	</div>
+
+	<?php
+	       $html = ob_get_contents();
+	       ob_end_clean();
+
+	       # Generate the web page
+	       $App->generatePage($theme, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+	?>
+
