diff --git a/glade2/meldapp.glade b/glade2/meldapp.glade
index dd377dd..c8178e6 100644
--- a/glade2/meldapp.glade
+++ b/glade2/meldapp.glade
@@ -1298,7 +1298,74 @@ Adam Weinberger (en_CA)</property>
                     <property name="tab_fill">False</property>
                   </packing>
                 </child>
-              </widget>
+                <child>
+                	<widget class="GtkVBox" id="startup_tab">
+                		<property name="visible">True</property>
+                		<property name="spacing">12</property>
+                		<property name="border-width">12</property>
+                		<child>
+                			<widget class="GtkVBox" id="vboxx40">
+                				<property name="visible">True</property>
+                				<property name="spacing">6</property>
+                				<child>
+                					<widget class="GtkLabel" id="labelx53">
+                						<property name="visible">True</property>
+                						<property name="xalign">0</property>
+                						<property name="label" translatable="yes">&lt;b&gt;Startup&lt;/b&gt;</property>
+                						<property name="use_markup">True</property>
+                					</widget>
+                					<packing>
+                						<property name="expand">False</property>
+                						<property name="fill">False</property>
+                					</packing>
+                				</child>
+                			</widget>
+                			<packing>
+                				<property name="expand">False</property>
+                				<property name="position">0</property>
+                			</packing>
+                		</child>
+                		<child>
+                			<widget class="GtkHBox" id="hboxx30">
+                				<property name="visible">True</property>
+                				<child>
+                					<widget class="GtkCheckButton" id="checkbutton_start_new_dialog">
+                						<property name="visible">True</property>
+                						<property name="can_focus">True</property>
+                						<property name="label" translatable="yes">Start with New Dialog</property>
+                						<property name="use_underline">True</property>
+                						<property name="response_id">0</property>
+                						<property name="draw_indicator">True</property>
+                						<signal name="toggled" handler="on_checkbutton_start_new_dialog"></signal>
+                					</widget>
+                					<packing>
+                						<property name="expand">False</property>
+                						<property name="fill">False</property>
+                					</packing>
+                				</child>
+                			</widget>
+                			<packing>
+                				<property name="expand">False</property>
+                				<property name="position">1</property>
+                			</packing>
+                		</child>
+                	</widget>
+                	<packing>
+                		<property name="position">5</property>
+                	</packing>
+                </child>
+                <child>
+                	<widget class="GtkLabel" id="startup_label">
+                		<property name="visible">True</property>
+                		<property name="label" translatable="yes">Startup</property>
+                	</widget>
+                	<packing>
+                		<property name="type">tab</property>
+                		<property name="position">5</property>
+                		<property name="tab_fill">False</property>
+                	</packing>
+                </child>
+          </widget>
           <packing>
             <property name="position">1</property>
           </packing>
diff --git a/meldapp.py b/meldapp.py
index adb8ade..ce85a19 100644
--- a/meldapp.py
+++ b/meldapp.py
@@ -239,6 +239,8 @@ class PreferencesDialog(gnomeglade.Component):
         self.checkbutton_ignore_blank_lines.set_active( self.prefs.ignore_blank_lines )
         # encoding
         self.entry_text_codecs.set_text( self.prefs.text_codecs )
+        # startup
+        self.checkbutton_start_new_dialog.set_active( self.prefs.start_new_dialog )
     #
     # editor
     #
@@ -275,6 +277,12 @@ class PreferencesDialog(gnomeglade.Component):
         self.prefs.ignore_symlinks = check.get_active()
     def on_checkbutton_ignore_blank_lines_toggled(self, check):
         self.prefs.ignore_blank_lines = check.get_active()
+        
+    #
+    # Startup
+    #
+    def on_checkbutton_start_new_dialog(self, check):
+        self.prefs.start_new_dialog = check.get_active()
 
     #
     # Save text entry values into preferences
@@ -430,7 +438,8 @@ class MeldPreferences(prefs.Preferences):
             _("Script comment\t0\t#.*")),
         "ignore_blank_lines" : prefs.Value(prefs.BOOL, False),
         "toolbar_visible" : prefs.Value(prefs.BOOL, True),
-        "statusbar_visible" : prefs.Value(prefs.BOOL, True)
+        "statusbar_visible" : prefs.Value(prefs.BOOL, True),
+        "start_new_dialog" : prefs.Value(prefs.BOOL, False)
     }
 
     def __init__(self):
@@ -971,6 +980,10 @@ class MeldApp(gnomeglade.Component):
             tab = self.open_paths(args, options.auto_compare)
             if tab:
                 tab.set_labels(options.label)
+            else:
+                if self.prefs.start_new_dialog:
+                    # open the new dialog instead
+                    NewDocDialog(self)
 
     def _single_file_open(self, path):
         doc = vcview.VcView(self.prefs)
