diff --git a/src/Text/Pandoc/App/CommandLineOptions.hs b/src/Text/Pandoc/App/CommandLineOptions.hs
index a6df12715..9b2c4f699 100644
--- a/src/Text/Pandoc/App/CommandLineOptions.hs
+++ b/src/Text/Pandoc/App/CommandLineOptions.hs
@@ -958,6 +958,10 @@ options =
                      UTF8.hPutStr stdout (T.pack $ usageMessage prg options)
                      exitSuccess ))
                  "" -- "Show help"
+    , Option "" ["no-table-float"]
+                (NoArg
+                 (\opt -> return opt { optTableFloat = False }))
+                "" -- "Do not let tables float"
     ]
 
 getDataFileNames :: IO [FilePath]
diff --git a/src/Text/Pandoc/App/Opt.hs b/src/Text/Pandoc/App/Opt.hs
index d54d932b7..569d6d82c 100644
--- a/src/Text/Pandoc/App/Opt.hs
+++ b/src/Text/Pandoc/App/Opt.hs
@@ -160,6 +160,7 @@ data Opt = Opt
     , optCSL                   :: Maybe FilePath -- ^ CSL stylesheet
     , optBibliography          :: [FilePath]  -- ^ Bibliography files
     , optCitationAbbreviations :: Maybe FilePath -- ^ Citation abbreviations
+    , optTableFloat            :: Bool           -- ^ Should tables float?
     } deriving (Generic, Show)
 
 instance FromYAML (Opt -> Opt) where
@@ -673,6 +674,7 @@ defaultOpts = Opt
     , optCSL                   = Nothing
     , optBibliography          = []
     , optCitationAbbreviations = Nothing
+    , optTableFloat            = True
     }
 
 parseStringKey ::  Node Pos -> Parser Text
diff --git a/src/Text/Pandoc/App/OutputSettings.hs b/src/Text/Pandoc/App/OutputSettings.hs
index 3864ab188..45634a705 100644
--- a/src/Text/Pandoc/App/OutputSettings.hs
+++ b/src/Text/Pandoc/App/OutputSettings.hs
@@ -211,6 +211,7 @@ optToOutputSettings opts = do
         , writerReferenceDoc     = optReferenceDoc opts
         , writerSyntaxMap        = syntaxMap
         , writerPreferAscii      = optAscii opts
+        , writerTableFloat       = optTableFloat opts
         }
   return $ OutputSettings
     { outputFormat = format
diff --git a/src/Text/Pandoc/Options.hs b/src/Text/Pandoc/Options.hs
index 85d9aa103..8a09a84ac 100644
--- a/src/Text/Pandoc/Options.hs
+++ b/src/Text/Pandoc/Options.hs
@@ -265,6 +265,7 @@ data WriterOptions = WriterOptions
   , writerReferenceLocation :: ReferenceLocation    -- ^ Location of footnotes and references for writing markdown
   , writerSyntaxMap         :: SyntaxMap
   , writerPreferAscii       :: Bool           -- ^ Prefer ASCII representations of characters when possible
+  , writerTableFloat        :: Bool           -- ^ Should tables float?
   } deriving (Show, Data, Typeable, Generic)
 
 instance Default WriterOptions where
@@ -300,6 +301,7 @@ instance Default WriterOptions where
                       , writerReferenceLocation = EndOfDocument
                       , writerSyntaxMap        = defaultSyntaxMap
                       , writerPreferAscii      = False
+                      , writerTableFloat       = True
                       }
 
 instance HasSyntaxExtensions WriterOptions where
diff --git a/src/Text/Pandoc/Writers/ConTeXt.hs b/src/Text/Pandoc/Writers/ConTeXt.hs
index 3cafcefba..26836e7c1 100644
--- a/src/Text/Pandoc/Writers/ConTeXt.hs
+++ b/src/Text/Pandoc/Writers/ConTeXt.hs
@@ -259,6 +259,7 @@ blockToConTeXt (Table _ blkCapt specs thead tbody tfoot) = do
     let tabl = if isEnabled Ext_ntb opts
           then Ntb
           else Xtb
+    let flt = writerTableFloat opts
     captionText <- inlineListToConTeXt caption
     headers <- if all null heads
                then return empty
@@ -266,9 +267,13 @@ blockToConTeXt (Table _ blkCapt specs thead tbody tfoot) = do
     rows' <- mapM (tableRowToConTeXt tabl aligns widths) rows
     body <- tableToConTeXt tabl headers rows'
     return $ "\\startplacetable" <> brackets (
-      if null caption
-        then "location=none"
-        else "title=" <> braces captionText
+      if flt
+         then if null caption
+                then "location=none"
+                else "title=" <> braces captionText
+         else if null caption
+                then "location={force,none}"
+                else "title=" <> braces captionText
       ) $$ body $$ "\\stopplacetable" <> blankline
 
 tableToConTeXt :: PandocMonad m
